似乎这个问题已经被回答了很多次,但是我是 Django 的新手,当我尝试解决我一直在寻找的答案时,显然遗漏了一些东西。我有 2 个模型,模型 A 是主要模型,并且模型 B 有一个外键。当我在 Django Admin 中创建一个新模型 A 时,我希望用于选择模型 B 的下拉菜单仅显示具有的模型 B尚未分配给模型 A。任何人都可以指出正确的方法吗?
问问题
44 次
1 回答
0
您需要向管理员提供一个自定义表单,告诉它只显示Model B 字段的某个查询集:
from django import forms
from django.contrib import admin
from myapp.models import Person
class ModelAForm(forms.ModelForm):
model_b = ModelChoiceField(
queryset=ModelB.objects.exclude(model_a__isnull=False))
class Meta:
model = ModelA
class ModelAAdmin(admin.ModelAdmin):
form = ModelAForm
于 2013-06-25T15:23:14.350 回答