django:查询调用多表继承的多个属性
我读过,,但不太清楚我的案例的最佳实践是什么。 我是一个数据库n00b试图学习,所以耐心是感激的。我的情况如下:django:查询调用多表继承的多个属性,django,inheritance,orm,many-to-many,generics,Django,Inheritance,Orm,Many To Many,Generics,我读过,,但不太清楚我的案例的最佳实践是什么。 我是一个数据库n00b试图学习,所以耐心是感激的。我的情况如下: 3类公司:制造商、经销商、服务修复(共享约10个属性) 5类产品:填充动物、自行车、芭比娃娃(也共享一些属性) 所以为了保持干爽,我尝试了多表继承: # company.models.py class GenericCompany(models.Model): name, description, address, etc class Manufacturer(Gen
- 3类公司:制造商、经销商、服务修复(共享约10个属性)
- 5类产品:填充动物、自行车、芭比娃娃(也共享一些属性)
# company.models.py
class GenericCompany(models.Model):
name, description, address, etc
class Manufacturer(GenericCompany): #can manufacture different things
stuff_specific_to_manufacturers
product = models.ManyToMany(GenericProduct)
class Reseller(GenericCompany): #can sell different things
stuff_specific_to_manufacturers
product = models.ManyToMany(GenericProduct)
etc for ServiceNRepair
同样,对于产品
# product.models.py
class GenericProduct(models.Model):
name, price, color, etc
class StuffedAnimal(GenericProduct):
fluffyness, ears_or_not, etc
class Bicycle(GenericProduct):
wheel_diameter, weight, etc
etc for Barbies
现在我需要执行如下查询
- 显示所有红色的产品(这很简单)
- 这个制造商生产什么产品
- 查找经销商X销售的所有自行车
但我可以用M2M这样做吗<代码>制造商.objects.filter(product\u icontains='something')这样的东西不起作用。那么,我完全走错了路?使用ContentTypes是典型的解决方案吗?我只想知道下一步要研究什么来解决这个问题的一些方向,这个问题肯定很普遍。任何提示,谢谢。谢谢。您可以做一些事情,如
制造商.objects.filter(product\uu name\uu icontains='something')
,只需在product中添加字段的名称。尽管您提到的查询甚至不需要该名称