访问RelatedManager以创建multi模型
简介:是否有可能通过相关模型实例上的相关管理器访问通过多表继承进行分类的模型?
细节:
假设以下模型定义..
class City(models.Model):
...
class Place(models.Model):
city = models.ForeignKey(City)
class Restaurant(Place):
...
我希望能够像这样访问波特兰市的所有餐馆:
portland = City.objects.get(id=1)
portland.restaurant_set.all()
然而restaurant_set
或similiar似乎并没有被暴露RelatedManager
的City
,只有place_set
暴露。
在访问City
的模型实例时,是否有办法将restaurant_set
, restaurants
或类似的相关经理公开?
我也尝试为餐厅创建一个自定义管理器,如下所示:
class RestaurantManager(models.Manager):
use_for_related_fields = True
class Restaurant(Place):
objects = RestaurantManager()
然而,它似乎并没有让我更接近我想要的东西。
提前道歉,因为这只是伪代码,而不是我在我的项目/应用程序中使用的实际模型。 我可能在这里引入了一个错误,而不是在我的实际代码库中,如果是这样的话,我会很乐意澄清和更新。
另外,如果可以在不使用第三方包(如django-polymorphice等)的情况下完成此操作,我宁愿这样做,但如果唯一合理的方法是使用这些包之一,我会接受这个答案。
最后,我使用Django 1.8,暂时无法升级。
链接地址: http://www.djcxy.com/p/25383.html