这不是django Orm的魔力。这是形式的魔力。当您在模型中创建外键时,然后在ModelForm中,将创建一个ModelChoiceField,它具有ForeignKey模型的所有选择。django Admin使用Form的所有属性来创建HTML。因此,请使用此代码。
from django import forms
class RelationForm(forms.ModelForm):
parent = forms.ChoiceField(required=False,
choices=Relation.objects.values_list('id', 'name'))
particle = forms.ChoiceField(required=False,
choices=Particle.objects.values_list('id', 'content'))
media = forms.ChoiceField(required=False,
choices=Media.objects.values_list('id', 'name'))
class Meta:
model = Relation
在Admis网站
from django.contrib import admin
class RelationAdmin(admin.ModelAdmin):
form = RelationForm
model = Relation
您也可以将选项传递保存在表单中。