Django中是否存在某种反向外键关系?
我有两种型号,如:Django中是否存在某种反向外键关系?,django,database,many-to-many,one-to-many,many-to-one,Django,Database,Many To Many,One To Many,Many To One,我有两种型号,如: class Task(models.Model): ... class MilageReceipt(models.Model): ... 每个收据都应该列出许多任务。这可以通过任务模型上的ForeignKeyField(“MilageReceipt”)快速完成。但是收据生成的时间要晚得多,因为我想在创建收据时选择任务,所以我更希望收据链接指向它列出的任务,而不是相反。我可以在这里使用多个关系,但是我需要一直验证没有任务被计费两次。一言以蔽之,我需要很多的关系 我相
class Task(models.Model):
...
class MilageReceipt(models.Model):
...
每个收据都应该列出许多任务。这可以通过任务模型上的ForeignKeyField(“MilageReceipt”)快速完成。但是收据生成的时间要晚得多,因为我想在创建收据时选择任务,所以我更希望收据链接指向它列出的任务,而不是相反。我可以在这里使用多个关系,但是我需要一直验证没有任务被计费两次。一言以蔽之,我需要很多的关系
我相信这是一个常见的问题。解决这个问题最直接的方法是什么?我特别想避免大量修改管理员
抱歉,我肯定还有其他类似的问题,但我没有找到好的解决方案。试试类似的方法
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获取所有注释。此
ForeignKey
可以工作,但除非绝对必要,否则我不会覆盖post
模型中的id
字段。