Django中是否存在某种反向外键关系?

时间:2017-04-20 00:57:33

标签: django database many-to-many one-to-many many-to-one

我有两个模型,如:

class Task(models.Model):
  ...

class MilageReceipt(models.Model):
  ...

每张收据都应列出很多任务。这可以通过Task模型上的ForeignKeyField(“MilageReceipt”)快速完成。但是收据生成的时间要晚得多,因为我想在创建任务时选择任务,我希望将收据链接到它列出的任务,而不是相反。我可以在这里使用ManyToMany关系,但是我需要一直验证没有任何任务被计费两次。在一个单词中我需要一个ManyToOneRelation。

我确信这是一个常见问题。解决这个问题最简单的方法是什么?我特别想避免大规模修改管理员。

抱歉,我确定还有其他类似的问题,但我没有找到一个好的解决方案。

1 个答案:

答案 0 :(得分:0)

尝试类似

的内容
class Post(models.Model):
    id=models.CharField(primary_key=True, default=uuid.uuid4,max_length=100)

class Comment(models.Model):
    comment = models.TextField()
    post = models.ForeignKey(Post,on_delete=models.CASCADE,related_name='comments')

在这种情况下,您可以使用post.comments获取所有评论。