我正在使用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页面
时会消失答案 0 :(得分:1)
需要通过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()