我想获取相关联对象的引用,并使用自定义管理器。
是否有其他方法?如何使用自定义管理器来获取这些对象?
b.entry_set.all()
E.g
b.custom_manager.entry_set.all()
b.entry_custom_manager_set.all()
我想获取相关联对象的引用,并使用自定义管理器。
是否有其他方法?如何使用自定义管理器来获取这些对象?
b.entry_set.all()
E.g
b.custom_manager.entry_set.all()
b.entry_custom_manager_set.all()
Entry
,里面有两个管理器:class Entry(models.Model):
blog = models.ForeignKey('Blog', on_delete=models.CASCADE)
...
objects = models.Manager() # Default Manager
entries = EntryManager() # Custom Manager
然后您可以通过将manager
传递给entry_set
来控制要使用的管理器:
b = Blog.objects.get(id=1)
b.entry_set.all() # implicitly use the default manager
b.entry_set(manager='objects').all() # explicitly use the default manager
b.entry_set(manager='entries').all() # explicitly use the entries manager
请参阅有关使用自定义反向管理器的文档以获取更多信息。
看起来这个功能仍然存在一个未关闭的问题单 https://code.djangoproject.com/ticket/3871