class Product(models.Model):
...
class Ingredient(models.Model):
product = FK(Product)
middle = FK(Middle)
...
class Middle(models.Model):
dictionary = FK(Dictionary)
...
class Dictionary(models.Model):
...
我这样做的方式。
product = Product.objects.get(id=1)
ingredients = ProductIngredient.objects.filter(product=product)
middles = ProductMiddle.objects.filter(ingredient__in=ingredients)
dictionaries = ProductDictionary.objects.filter(middle__in=middles)
但是我想要
dictionaries = product.ingredient.middle.dictionary.all() (?)
# AttributeError: 'RelatedManager' object has no attribute 'middle'
或者 有没有更好的办法?
有没有办法用更少的查询来导入这些数据?
答案 0 :(得分:0)
我认为你想要的是
dictionaries = Dictionary.objects.filter(middle__ingredient__product_id=1)
名称可能有误,具体取决于您在每个 FK 上定义的 related_name
。