2

我有一个 django 1.8 实例(和 python 2),我正在使用 django-parler 进行翻译。我想自定义管理界面(我想使用 django-autocomplete-light,但这不相关)。但是使用 parler 自定义管理界面似乎比我想象的要复杂一些。这是一个简化的示例。

模型.py

from django.db import models
from parler.models import TranslatableModel, TranslatedFields


class Fruits(TranslatableModel):
    translations = TranslatedFields(
        fname=models.CharField(max_length=200)
    )

    def __unicode__(self):
        return self.fname

表格.py

from dal import autocomplete
from django import forms

from .models import Fruits

class FruitsForm(forms.ModelForm):
    class Meta:
        model = Fruits
        fields = (
            'fruits',
        )

管理员.py

from django.contrib import admin
from parler.admin import TranslatableAdmin

from .forms import FruitsForm
from .models import Fruits


class FruitsAdmin(TranslatableAdmin):
    form = FruitsForm
    model = Fruits


admin.site.register(Fruits, FruitsAdmin)

问题

django.core.exceptions.FieldError: Unknown field(s) (fruits) specified for Fruits

我能做些什么?

4

1 回答 1

1

编辑#1:

经过一番搜索,我相信你必须让你的表单继承自parler.formsTranslatableModelForm才能按预期工作。

更改您FruitsForm以匹配以下内容:

from dal import autocomplete
from django import forms
from parler.forms import TranslatableModelForm

from .models import Fruits

class FruitsForm(TranslatableModelForm):
    class Meta:
        model = Fruits
        fields = (
            'fname',
        )

如果fname给您同样的问题,请尝试设置fields='__all__'

祝你好运 :)

于 2017-04-10T09:38:11.990 回答