假设我正在使用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)
谢谢
答案 0 :(得分:2)
是,尽管您将需要更改related_name
,但是由于存在从User
到{{1}的两种(隐式)关系,因此这现在将出错。 } s,此外,您还需要指定在删除Message
和sender
的情况下该怎么做(您也可以通过指定receiver
或{{3 }}):
models.CASCADE