manytomany过滤水平没有工作django管理员

时间:2017-08-04 07:14:02

标签: python django-forms django-admin django-cms django-widget

LabelLink 模型中添加字段时出现以下错误 目前我正在研究django-cms并希望更改当前的管理控件。

/ admin / myapp / labellinkmodel / add /中的IntegrityError NOT NULL约束失败:myapp_labellink_links.sort_value

models.py

class LinkPluginModel(CMSPlugin):
    .....
    label = models.CharField(max_length=200)
    link = models.URLField()


class LabelLink(CMSPlugin):
    ...
    links = models.ManyToManyField(LinkPluginModel,related_name="links" ,blank=True)

admin.py

class LabelLinkAdmin(admin.ModelAdmin):
    filter_horizontal = ('links',)

admin.site.register(LabelLink,LabelLinkAdmin)

2 个答案:

答案 0 :(得分:1)

Hie Somil,

  

在此代码中,blank = true将不起作用。请删除并检查。

答案 1 :(得分:1)

创建forms.py并添加此代码。它肯定会解决你的问题。

class LabelLinkForm(ModelForm):

  class Meta:
    model = Model Name
    fields="__all__"

  def __init__(self, *args, **kwargs):
    super(LabelLinkForm, self).__init__(*args, **kwargs)
    self.fields['links'].required = False