我有一个多态模型,模型是:
class AbstractCategory(PolymorphicMPTTModel):
name = models.CharField(max_length=100)
parent = PolymorphicTreeForeignKey('self', null=True, blank=True,
related_name='sub_categories')
class Category(AbstractCategory):
def get_fields(self):
pass
class FakeCategory(AbstractCategory):
def get_fields(self):
pass
class AbstractProductModel(PolymorphicModel):
name = models.CharField(max_length=100)
class ProductModel(AbstractProductModel):
category = models.ForeignKey('category.Category', related_name='product_models')
class FakeProductModel(AbstractProductModel):
category = models.ForeignKey('category.AbstractCategory', related_name='fake_product_models')
假设我有3个类别的对象:数码、移动-->数码、相机-->数码。 数码是手机和相机的母体,这是树状结构的简单例子。 我想得到所有型号,他们的类别是数码或数码的子类别,如手机或相机。我用的是:
^{pr2}$我得到这个错误: 无法将关键字“abstractcategory\u ptr”解析到字段中。选项包括:类别,…
找不到原因。在
虽然我不太明白
category__in
过滤器为什么会中断(它应该可以工作!),您可以以更好的方式实现此查询。当您使用mptt字段联接时,所有操作都在单个查询中发生,而不是WHERE x IN (SELECT ..)
子查询。在您可以使用以下方法查询:
^{pr2}$相关问题 更多 >
编程相关推荐