Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.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
Python 通过其他关系筛选与对象相关的对象_Python_Django_Django Models_Django Rest Framework - Fatal编程技术网

Python 通过其他关系筛选与对象相关的对象

Python 通过其他关系筛选与对象相关的对象,python,django,django-models,django-rest-framework,Python,Django,Django Models,Django Rest Framework,我有这些Django型号,正如您所看到的,每个包都有发货(收件人)和一个作为用户的供应商。如何筛选与我视图中特定供应商的包相关的装运对象 我希望能够获得供应商曾经向其发送过包裹的所有装运对象。我认为您可以执行以下操作: class Shipping (models.Model): phone_number = models.CharField(max_length=14) email = models.EmailField() class Package(models.Mod

我有这些Django型号,正如您所看到的,每个包都有发货(收件人)和一个作为用户的供应商。如何筛选与我视图中特定供应商的包相关的装运对象


我希望能够获得供应商曾经向其发送过包裹的所有装运对象。

我认为您可以执行以下操作:

class Shipping (models.Model):
    phone_number =  models.CharField(max_length=14)
    email = models.EmailField()

class Package(models.Model):
    name = models.CharField(max_length=30)
    supplier = models.ForeignKey( Supplier , on_delete=models.DO_NOTHING)
    to =  models.ForeignKey(Shipping, default=None, on_delete=models.CASCADE )

希望这能有所帮助

下一行将返回与您的供应商对应的所有发货

  shippings = []
  for package in Package.objects.filter(supplier=supplier_you_want).all():
     shippings.append(package.to)
您可以这样尝试:

shippings=Package.objects.filter(supplier=your_supplier).values('to__phone_number','to__email')
Shipping.objects.filter(包\供应商=)
基本上,您可以通过
Package\uu
属性(model name all lowercase)从发货到包装模型运行反向查询,除非您定义了相关名称,否则它将是
\u

有关更多信息,请参阅

Shipping.objects.filter(package__supplier=<supplier_object>)