我有一个名为Exam的模型。每个考试都有一组称为参与者的用户。我发现在Django中保留这样的设置的唯一方法是在User模型中添加一个字段。但是我更喜欢把这个模型写成尽可能独立,所以如果以后我想再次使用它,我可以在不改变我的用户模型的情况下做到这一点。那么如何在不手动修改用户模型字段的情况下处理这样的设置?
答案 0 :(得分:0)
关于你的评论,你可以做这样的事情:
class Exam(models.Model):
participants = models.ManyToMany(settings.AUTH_USER_MODEL, through='Participation')
class Participation(models.Model)
user = models.OneToOneField(settings.AUTH_USER_MODEL)
exam = models.ForeignKey('Exam')
active = models.BooleanField(default=False)
另一个选择是使用django' limit_coices_to。它不是事务保存,但可以完成这项工作。您只需限制所有非相关对象的选择。