Слияние режимов редактирования и публикации Django-CMS создало две разные записи в базе данных с одинаковыми значениями

Мой технический директор попросил меня решить "проблему"

По-видимому, всякий раз, когда я добавляю какой-либо плагин в локально запущенный проект Django CMS на основе DRF, он создает две записи в базе данных. Одна для режима редактирования, а другая - когда я нажимаю кнопку публикации.

Database Table looks like this for a single plugin

Мой технический директор попросил найти, есть ли какой-нибудь способ динамически объединить запись в режиме редактирования с записью в режиме объединения и наоборот при переключении между этими режимами.

Наш сайт очень тяжелый. Но нужно ли вообще это делать для Django-CMS?

Вот код model.py для примера плагина.

Models.py:

class TechnologyVideo(ck_CMSPlugin):
Video_thumb = models.ImageField(upload_to="technology_video", null=True, blank=True)
video_url = models.URLField(help_text='Please enter your video url', validators=[URLValidator], null=True)
# video_title = models.CharField(max_length=100, blank=True, null=True, )
# video_description = HTMLField(null=True, blank=True, configuration="VIDEO_POST_TEXT_CKEDITOR")

class Meta:
    verbose_name = "Technology Video Model"

def __unicode__(self):
    return f'{self.Video_thumb}'

cms_plugins.py:

class TechnologyVideoPlugin(CMSPluginBase):
model = TechnologyVideo
name = 'Technology Video Plugin'
render_template = 'technology_video.html'

def render(self, context, instance, placeholder):
    context.update({
        'Video_thumb': instance.Video_thumb,
        'video_url': instance.video_url,
    })
    context = super(TechnologyVideoPlugin, self).render(context, instance, placeholder)
    return context
    
plugin_pool.register_plugin(TechnologyVideoPlugin)

Здесь нет никаких проблем. Так работает CMS.

У него есть черновая версия и живая версия для всего содержимого. Живая версия - это то, что увидят ваши посетители, и когда вы публикуете черновую версию, она копируется в живую версию.

Вернуться на верх