我有很多对很多的领域。我想限制管理员在其M2M小部件中显示的选择。
我有一个这样的模型:
class A(models.Model):
b_field = models.ManyToManyField(B)
class B(models.Model):
available = models.BooleanField()
如何仅将窗口小部件中显示的B对象限制为available = True
?
答案 0 :(得分:4)
limit_choices_to选项可能对您有帮助,
使用ModelForm或admin呈现此字段时,为此字段的可用选项设置限制(默认情况下,可以选择查询集中的所有对象)。可以使用字典,Q对象或返回字典或Q对象的可调用对象。
例如,
class A(models.Model):
b_field = models.ManyToManyField(B, limit_choices_to={'available': True})