首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Parler在Django管理界面中创建自定义表单

用Parler在Django管理界面中创建自定义表单
EN

Stack Overflow用户
提问于 2017-04-10 09:35:01
回答 1查看 2.4K关注 0票数 2

我有一个django 1.8实例(和python 2),我正在使用django-parler进行翻译。我想定制管理界面(我想使用django-autocomplete-light,但这与此无关)。但是用parler定制管理界面似乎比我想的要复杂一些。下面是一个简化的例子。

models.py

代码语言:javascript
复制
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

forms.py

代码语言:javascript
复制
from dal import autocomplete
from django import forms

from .models import Fruits

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

admin.py

代码语言:javascript
复制
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

我能做什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-10 09:38:11

编辑#1:

经过一些搜索之后,我相信您必须使表单继承自parler.formsTranslatableModelForm,这样才能按预期工作。

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

代码语言:javascript
复制
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__'

祝你好运:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43319646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档