django模型关系如何将模型A两次链接到模型B

时间:2018-11-05 09:49:04

标签: django django-models

假设我正在使用Django实现消息传递服务,所以我有2个模型 1个用于消息,第二个用于用户。
消息发送者是用户的模型实例,消息接收者也是用户的模型实例。
这样是正确的方法吗?

class User(models.Model):
    first_name = models.CharField(max_length=40, default='', null=True)
    last_name = models.CharField(max_length=40, default='', null=True)

class Message(models.Model):
    sender = models.ForeignKey(User)
    receiver = models.ForeignKey(User)
    message = models.CharField(max_length=5000)
    created_at = models.DateTimeField(auto_now_add=True, blank=True)
    updated_at = models.DateTimeField(auto_now=True, blank=True)

谢谢

1 个答案:

答案 0 :(得分:2)

,尽管您将需要更改related_name,但是由于存在从User到{{1}的两种(隐式)关系,因此这现在将出错。 } s,此外,您还需要指定在删除Messagesender的情况下该怎么做(您也可以通过指定receiver或{{3 }}):

models.CASCADE