我正在使用 Django admin 来管理我的数据。我有一个用户、组和域表用户表与组和域表有多对多的关系。Domains 表与 Groups 表具有一对多的关系。当我通过管理员保存用户数据时,我还需要在 users_group 和 users_domains 表中进行一些额外的数据库更新。我该怎么做呢?我把代码放在哪里。谢谢。
Anand
问问题
845 次
2 回答
2
我认为您正在寻找InlineModels。它们允许您在与父模型相同的页面中编辑相关模型。如果您正在寻找比这更好的控制,您可以覆盖 ModelAdmin保存方法。
此外,当您需要某些东西时,请务必查看手册。它真的很好。
于 2009-03-11T15:33:25.600 回答
0
更新其他数据库表的最佳方法是执行必要的获取和保存操作。但是,如果您有一个多对多关系,默认情况下,关系的双方都可以从 _set 参数访问。也就是说, user.group_set.all() 将为您提供与用户关联的所有 Group 对象,而 group.user_set.all() 将为您提供与组关联的所有 User 对象。因此,如果您覆盖 save 方法(或注册一个信号侦听器——无论哪个选项听起来风格上更令人愉悦),请尝试:
for group in user.group_set.all():
#play with group object
....
group.save()
于 2009-03-12T14:45:48.433 回答