1
私はdjango-cmsを使用しています プラグインを追加するか更新するときに多くのフィールドがうまくいきますが、 のページを公開した後は何もデータを取得できませんでした。manytomanyフィールドが動作しないdjango-cms
モデルは、私がdjagno-CMSページを公開するとき、フィールド「client_logoは」(django-cms models manualを参照)
私はdjango-cmsを使用しています プラグインを追加するか更新するときに多くのフィールドがうまくいきますが、 のページを公開した後は何もデータを取得できませんでした。manytomanyフィールドが動作しないdjango-cms
モデルは、私がdjagno-CMSページを公開するとき、フィールド「client_logoは」(django-cms models manualを参照)
関係が明示的にcopy_relations
方法でコピーする必要がdisapperなり、ここでこの
@python_2_unicode_compatible
class ClientLogo(CMSPlugin):
client_logo = models.ManyToManyField(LogoPluginModel, blank=True)
class LogoPluginModel(CMSPlugin):
title = models.CharField(max_length=100)
のようになります。 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()
[インスタンス関連の\ _set戻るを空のリストをプラグインDjangoのCMS]の可能な重複(https://stackoverflow.com/questions/19778911/django-cms-plugin-instance-related-set-returns-empty-リスト) – mch