首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使django-管理-可排序和django-parler一起工作

使django-管理-可排序和django-parler一起工作
EN

Stack Overflow用户
提问于 2018-04-16 13:11:19
回答 1查看 351关注 0票数 0

我有两个使用through表具有多到多关系的模型。

代码语言:javascript
复制
# models.py

class Item(TranslatableModel):
    name = models.CharField(max_length=100)  # this one is translatable

class Person(TranslatableModel):
    name = models.CharField(max_length=100)  # this one is translatable
    items = models.ManyToManyField(
        'Item',
        through='PersonItem',
    )


class PersonItem(Sortable):

    class Meta(Sortable.Meta):
        ordering = ['order']

    person = models.ForeignKey('Person')
    item = SortableForeignKey('Item')

但是我无法在管理中对Item进行排序。

代码语言:javascript
复制
# admin.py

class PersonItemInline(TranslatableTabularInline, SortableTabularInline):
    model = PersonItem
    form = PersonItemForm
    extra = 1

class PersonAdmin(TranslatableAdmin):
    form = PersonForm
    inlines = [
        PersonItemInline
    ]


admin.site.register(Person, PersonAdmin)

当我首先从translatable继承时,我就失去了排序功能。当我首先尝试从sortable继承时,我有以下错误

NoReverseMatch反向的'person_person_do_sorting‘与参数'(239,)’和关键字参数'{}‘没有找到。0已尝试的模式:[]

环境(python 3):django==1.10.7django-parler==1.6.5django-admin-sortable==2.0.19

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-11 09:33:14

@most-希望确保输入顺序是正确的:

代码语言:javascript
复制
class PersonItemInline(SortableTabularInline, TranslatableTabularInline):
    ...
class PersonAdmin(SortableAdmin, TranslatableAdmin):
    ...

并在这样的change_form_template_extends类中重写PersonAdmin

代码语言:javascript
复制
class PersonAdmin(SortableAdmin, TranslatableAdmin):
    change_form_template_extends = 'admin/parler/change_form.html'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49858200

复制
相关文章

相似问题

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