我正在 Django 中实现这样的模型。
class DashboardItem(models.Model):
title = models.CharField(max_length=40, blank=True, null=True)
content_types = models.ManyToManyField(
'ContentType', blank=True, limit_choices_to={'option_in_dashboard': True},)
def __str__(self):
return "%s" % self.title or None
class ContentType(models.Model):
label = models.CharField(max_length=32, blank=False, null=False)
def __str__(self):
return "%s" % self.label or None
当我最初使用基于此模型生成的多选字段保存 DashboardItem
时,它工作得很好,并且会重新加载选择正确的 content_types
。
但是,如果我尝试通过选择任何不同的内容来更新 DashboardItem 的 content_types
,它将保存模型而不会出现验证错误,重新加载页面,然后恢复到最初创建 DashboardItem
时保存的原始 content_types {1}}