Python 通过其他关系筛选与对象相关的对象
我有这些Django型号,正如您所看到的,每个包都有发货(收件人)和一个作为用户的供应商。如何筛选与我视图中特定供应商的包相关的装运对象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
我希望能够获得供应商曾经向其发送过包裹的所有装运对象。我认为您可以执行以下操作:
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>)