0

似乎这个问题已经被回答了很多次,但是我是 Django 的新手,当我尝试解决我一直在寻找的答案时,显然遗漏了一些东西。我有 2 个模型,模型 A 是主要模型,并且模型 B 有一个外键。当我在 Django Admin 中创建一个新模型 A 时,我希望用于选择模型 B 的下拉菜单仅显示具有的模型 B尚未分配给模型 A。任何人都可以指出正确的方法吗?

4

1 回答 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 回答