Django管理员。限制很多领域的选择
问题描述:
我有一个多对多的领域。我想限制管理员在其M2M小部件中显示的选项。Django管理员。限制很多领域的选择
我有这样一个模型:
class A(models.Model):
b_field = models.ManyToManyField(B)
class B(models.Model):
available = models.BooleanField()
如何限制在widget只有那些谁拥有available = True
所示的B对象?
答
的limit_choices_to选项可以帮助你,
在该领域使用的ModelForm或管理员(默认渲染设置的限制,为这一领域的可用选项,在查询集所有对象都可用选择)。可以使用字典,Q对象或返回字典或Q对象的可调用对象。
对于例如,
class A(models.Model):
b_field = models.ManyToManyField(B, limit_choices_to={'available': True})