Azd*_*325 5 django django-models django-orm
我想获取相关的对象引用,并且我想使用自定义管理器。
外面有什么东西吗?我如何使用自定义管理器来获取这些对象?
b.entry_set.all()
Run Code Online (Sandbox Code Playgroud)
例如
b.custom_manager.entry_set.all()
b.entry_custom_manager_set.all()
Run Code Online (Sandbox Code Playgroud)
从 Django 1.7 开始这已经成为可能。Entry假设您有一个包含两名经理的模型:
class Entry(models.Model):
blog = models.ForeignKey('Blog', on_delete=models.CASCADE)
...
objects = models.Manager() # Default Manager
entries = EntryManager() # Custom Manager
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅有关使用自定义反向管理器的文档。
| 归档时间: |
|
| 查看次数: |
485 次 |
| 最近记录: |