访问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似乎并没有被暴露RelatedManagerCity ,只有place_set暴露。

在访问City的模型实例时,是否有办法将restaurant_setrestaurants或类似的相关经理公开?

我也尝试为餐厅创建一个自定义管理器,如下所示:

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

上一篇: Access RelatedManager for a model created by multi

下一篇: How to create a custom manager for related objects?