manytomany 字段不工作 django-cms

manytomany field not working django-cms

我正在使用 django-cms 当我添加插件或更新时,多对多字段工作正常但是 发布页面后,我没有得到任何数据,我在其中添加了许多字段。

模型是这样的

@python_2_unicode_compatible
class ClientLogo(CMSPlugin):
  client_logo = models.ManyToManyField(LogoPluginModel, blank=True)

class LogoPluginModel(CMSPlugin):
  title = models.CharField(max_length=100)

这里字段 'client_logo' 将在我发布 djagno-cms 页面时消失

关系需要通过copy_relations方法显式复制(参见django-cms models manual)。在 ManyToManyField 中添加 related_name 属性 也是有利的,尤其是当模型包含多组外键或 ManyToManyFields.

@python_2_unicode_compatible
class ClientLogo(CMSPlugin):
  client_logo = models.ManyToManyField(
    LogoPluginModel,
    blank=True,
    related_name='client_logos',
  )


class LogoPluginModel(CMSPlugin):
  title = models.CharField(max_length=100)

  def copy_relations(self, oldinstance):
    self.client_logos.all().delete()
    for logo in oldinstance.client_logos.all():
      logo.pk = None
      logo.showroom = self
      logo.save()