Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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_Many To Many - Fatal编程技术网

与Django中多个字段的多对多关系

与Django中多个字段的多对多关系,django,many-to-many,Django,Many To Many,我有以下型号: class Trip(models.Model): driver = models.ForeignKey(User) trip_cost = models.IntegerField(blank=True, null=True) passenger = models.CharField(max_length=50, blank=True, null=True) shared_cost = models.IntegerField(default=0,

我有以下型号:

class Trip(models.Model):
    driver = models.ForeignKey(User)
    trip_cost = models.IntegerField(blank=True, null=True)
    passenger = models.CharField(max_length=50, blank=True, null=True)
    shared_cost = models.IntegerField(default=0, blank=True, null=True)
每个
行程
可以有一个
驾驶员
,也可以有一个
驾驶员
和几个
乘客
。对于每位
乘客
驾驶员可以设置每位乘客将要支付的
旅行费用的百分比

我需要的是:

  • 要列出所有
    用户的
    passenger
    字段
  • 几名
    乘客
    +
    分担了每次
    行程的成本
    我想我应该使用多对多,但我不能让它工作。另外,当我尝试将乘客设置为
    models.ForeignKey(User)
    时,我会收到一个错误


    非常感谢任何帮助或指导。

    当使用两个字段引用相同型号时,请使用
    相关名称

    class Trip(models.Model):
        driver = models.ForeignKey(User,on_delete=models.CASCADE, related_name='driver')
        trip_cost = models.IntegerField(blank=True, null=True)
        passenger = models.ForeignKey(User,on_delete=models.CASCADE, related_name='passenger')
        shared_cost = models.IntegerField(default=0, blank=True, null=True)