Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django中是否存在某种反向外键关系?_Django_Database_Many To Many_One To Many_Many To One - Fatal编程技术网

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
字段。