【发布时间】:2018-04-16 13:11:19
【问题描述】:
我有两个使用through table 的多对多关系模型
# 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')
但我无法在管理员中对Items 进行排序
# 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.7、django-parler==1.6.5、django-admin-sortable==2.0.19
【问题讨论】:
标签: django python-3.x django-forms django-admin django-parler