@register_snippet
class Numbers(models.Model):
number = models.IntegerField()
class State(models.Model):
state = models.CharField(max_length=100)
number = ParentalManyToManyField(Numbers)
class HomeStateNumber(State):
page = ParentalKey('home.HomePage', related_name='helpline')
api_fields = ['state', 'number']
panels = [
FieldPanel('state'),
FieldPanel('number',widget=forms.CheckboxSelectMultiple),
]
class HomePage(Page):
content_panels = [
FieldPanel('title'),
ImageChooserPanel('cover_page'),
InlinePanel('ticker', label="ticker"),
InlinePanel('helpline', label="helpline"),
]
我想在状态中添加一个以上的数字,wagtail在管理员中显示正确的顺序,当您从多个选择数字并保存页面时,数据不会保存。它仍然是None(queryset) 有没有其他方法可以做到这一点? 我想我在某个地方做错了 请帮忙
答案 0 :(得分:5)
使用ParentalManyToManyField
的模型需要继承modelcluster.models.ClusterableModel
。
from modelcluster.models import ClusterableModel
class State(ClusterableModel):
state = models.CharField(max_length=100)
number = ParentalManyToManyField(Numbers)
另外,请确保安装了django-modelcluster版本4.0(或更高版本) - 旧版本有一个错误,阻止内联对象中的m2m关系起作用。