django模型ManyToManyField不通过管理器

标签 django django-models django-managers

我有 3 个模型。

class Poll(model):
     title = models.CharField()
     options = models.ManyToManyField(Option, through='PollOption', null=True, blank=True)

class Option(model):
     title = models.CharField()

     #also declared a manager, which return queryset from a specified database "abc"
     objects = OptionManager()

class PollOption(model):
     poll = ForeignKey(Poll)
     option = ForeignKey(Option)

     #also declared a manager, which return queryset from a specified database "abc"
     objects = PollOptionManager()

假设我有一个 Poll 实例,例如 p。 如果我执行p.options.all(),它不会通过管理器,我在管理器中指定了数据库。相反,它从默认数据库中获取值。

请帮忙。希望我的问题很清楚。否则我可以澄清你的问题。

提前致谢。

最佳答案

尝试按照描述设置 use_for_lated_fields = True here .

关于django模型ManyToManyField不通过管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16735170/

相关文章:

django - 使用 select_related 时,如何使用相关模型的自定义管理器?

python - 使用python 3访问django POST请求中的嵌套对象

django - 在 formset.save() 上设置表单集的外键

python - 更新指向 settings.AUTH_USER_MODEL 的关系

python - 无法保存 django 模板中的项目列表

python - 如何动态添加自定义管理器以在 Django 中建模

python - Django 测试用户对象

python - QuerySet 返回空列表而不是错误

django - * _set Django模型上的属性

python - 无法通过模型实例访问管理器