Django:管理员中的更改字段标签不起作用

时间:2014-02-19 17:02:16

标签: django django-admin

不幸的是,我仍在使用django 1.4,而verbose_name对外键不起作用。 有一种方法可以更改外键的标签。目前,它不起作用:

class ProductVariant(models.Model):
    product = models.ForeignKey(TestProduct, verbose_name='test product', on_delete=models.PROTECT)

ProductVariant

class ProductVariantForm(forms.ModelForm):
    product = forms.ModelChoiceField(queryset=TestProduct.objects.order_by("product__article_code"))
    test_software = forms.ModelChoiceField(queryset=TestSoftware.objects.order_by("name"))     
    class Meta:
        model = ProductVariant

class ProductVariantAdmin(admin.ModelAdmin):
    fields=["product", "test_software", "test_variables", "name", "description"]
    list_display = ("name", "product_name", "test_software_name", "test_variables", "description")
    search_fields = ["name"]
    form = ProductVariantForm

我希望你能帮助我。

提前致谢!

1 个答案:

答案 0 :(得分:1)

verbose_name应该根据1.4 docs使用Django 1.4。

我认为因为你在表格中覆盖了字段,所以不使用标签的详细名称。你可以做的是在ModelChoiceField上设置标签。

class ProductVariantForm(forms.ModelForm):
    product = forms.ModelChoiceField(label="Test Product", queryset=TestProduct.objects.order_by("product__article_code"))
    test_software = forms.ModelChoiceField(queryset=TestSoftware.objects.order_by("name"))     
    class Meta:
        model = ProductVariant

我不太确定如何在字段上使用模型的详细名称,因此您可能需要定义两次。