Django admin:如何预定义字段值?

时间:2018-02-13 10:47:52

标签: python django django-admin

我使用Django 1.11.10和python 3.6;我的Category模型有nameparent。父字段链接到自身。但是当我创建新的Category模型时,我希望从已创建的没有父项的类别中选择父项。那么如何预定义这个列表?

class Category(models.Model):
    name = models.CharField(max_length=50, unique=True)
    parent = models.ForeignKey('self', null=True, blank=True)

------

class CategoryForm(forms.ModelForm):
    class Meta:
        model = Category
        fields = ['name', 'parent']

class CategoryAdmin(admin.ModelAdmin):
    form = CategoryForm

admin.site.register(Category, CategoryAdmin)

1 个答案:

答案 0 :(得分:1)

我认为当a访问前端时,你想要在表单中下拉。

您可以将其添加到表单中:

parent = forms.forms.ModelChoiceField(queryset= Category.objects.all(), required = True)

所以最终形式如下:

class CategoryForm(forms.ModelForm):
    parent = forms.forms.ModelChoiceField(queryset= Category.objects.all(), required = True)
    class Meta:
        model = Category
        fields = ['name', 'parent']

如果这是你想要的,请告诉我!