0

我有一个名为考试的模型。每个考试都有一组称为参与者的用户。我发现在 Django 中保留此类设置的唯一方法是在用户模型中添加一个字段。但我更愿意将这个模型写得尽可能独立,所以如果以后我想再次使用它,我可以在不改变我的用户模型的情况下做到这一点。那么如何在不手动修改用户模型字段的情况下处理这样的设置呢?

4

1 回答 1

1

关于您的评论,您可以这样做:

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。它不是交易保存,但可能会完成这项工作。您只会限制对所有不相关对象的选择。

于 2015-03-13T15:57:47.947 回答