不幸的是,我仍在使用django 1.4,而verbose_name对外键不起作用。 有一种方法可以更改外键的标签。目前,它不起作用:
class ProductVariant(models.Model):
product = models.ForeignKey(TestProduct, verbose_name='test product', on_delete=models.PROTECT)
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
我希望你能帮助我。
提前致谢!
答案 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
我不太确定如何在字段上使用模型的详细名称,因此您可能需要定义两次。