Django中的模型关系

Django中的模型关系,django,django-models,relationship,Django,Django Models,Relationship,我有一个两个用户之间对话的模型 class Conversation(models.Model): users = models.ManyToManyField(User) recipient1_pk = models.CharField(max_length=100) recipient2_pk = models.CharField(max_length=100) 我有一个用于消息的子模型。我希望包含一个布尔字段,允许每个用户切换对话的可见性。但我不希望这会影响其他用

我有一个两个用户之间对话的模型

class Conversation(models.Model):
    users = models.ManyToManyField(User)
    recipient1_pk = models.CharField(max_length=100)
    recipient2_pk = models.CharField(max_length=100)

我有一个用于消息的子模型。我希望包含一个布尔字段,允许每个用户切换对话的可见性。但我不希望这会影响其他用户的对话,因此我不能将其添加到对话模型中。有没有一种有效的方法可以让每个用户在共享同一对话模式的同时添加一个布尔字段?

看看如何为您的ManyToManyField添加额外字段:


你也需要一个对话模型的外键,虽然我刚刚完成了模型的更新,结果证明它正是我所需要的。非常感谢。
class Conversation(models.Model):
    users = models.ManyToManyField(User, through='ConversationPreferences')
    recipient1_pk = models.CharField(max_length=100)
    recipient2_pk = models.CharField(max_length=100)

class ConversationPreferences(models.Model):
    user = models.ForeignKey(User)
    conversation = models.ForeignKey(Conversation)
    visibility = models.BooleanField()