django模型外键访问两个模型的属性

时间:2019-01-13 08:34:58

标签: django django-orm

我的代码:

products = Clothing.objects.select_related('product')
for product in products:
   print(product.category+"  "+product.price)

失败:

  

AttributeError:“服装”对象没有属性“价格”   [13 / Jan / 2019 13:31:53]“ GET / mens_product / HTTP / 1.1” 500 65348

1 个答案:

答案 0 :(得分:1)

当您在Product模型中与Clothing有外键关系时,可以使用以下方法获取所有关联产品:

products = Product.objects.filter(clothing=a_clothing_instance)

如果您想使用简写形式,则可能正在寻找 RelatedManager 。在ForeignKey情况下,您将:

class Clothing(models.Model):
    ....

class Product(models.Model):
    clothing = models.ForeignKey(clothing)

然后您可以使用以下命令调用所有产品

products = clothing.product_set.all()