Wagtail admin,CheckboxSelectMultiple不保存数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Wagtail admin,CheckboxSelectMultiple不保存数据相关的知识,希望对你有一定的参考价值。

@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)有没有其他方法可以做到这一点?我想我在某处做错了请帮助

答案

使用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关系起作用。

以上是关于Wagtail admin,CheckboxSelectMultiple不保存数据的主要内容,如果未能解决你的问题,请参考以下文章

Wagtail - 在页面上呈现带有相关片段和标签的数据时遇到问题

Wagtail:序列化页面模型

获取动态图像 django / wagtail 的图像源

Wagtail:如何在管理员中设置计算字段(@property)标题

Django - 安装wagtail

Wagtail 页面中的字段权限