我正在 Django 中编写一个项目,其中有 5 种用户组:
- 第 1 组
- 第 2 组
- ...
然后我有一个模型,与用户有很多关系的项目,项目有一个所有者(Group1 中的一个用户)、一个客户(Group2 中的一个用户)和许多相关用户(Group3 中的用户)。
我想知道哪种是编写这种关系的正确方法。我很想写一些类似的东西:
class Item(models.Model):
owner = models.ForeignKey(Owner)
customer = models.ForeignKey(Customer)
users = models.ManyToManyField(RelatedUser)
以某种方式定义了 Owner、Customer 和 RelatedUser 类。
我不知道如何实现这一点。我不想使用模型继承,因为我只想要一个表用户。甚至经理似乎也没有帮助我。实际上我正在使用这样的东西:
try:
customer = models.ForeignKey(User,
related_name='cust',
limit_choices_to = {'groups__in': [Group.objects.get(name = 'customers')]})
except:
customer = models.ForeignKey(User,
related_name='cust')
主要是因为从空数据库组“客户”开始时不存在并引发错误。
哪种方式是负担得起的?
提前致谢