0
当我从管理面板添加一个新的横幅时,我想在其创建横幅关联的关键字不会被添加到数据库中。Django模型覆盖保存功能不更新数据库中的m2m字段
class Banners(models.Model):
objects = BannerManager()
banner_location = models.ManyToManyField(BannerLocation, verbose_name=_("Banner's Location"), default=None, null=True, blank=True)
keywords = models.ManyToManyField(Keywords, verbose_name=_("Banner's Related Keywords"), null=True, blank=True)
width = models.IntegerField(verbose_name=_("Banner Width"), null=False, blank=False)
height = models.IntegerField(verbose_name=_("Banner Height"), null=False, blank=False)
invocation_code = models.TextField(verbose_name=_("Banner Height"), null=False, blank=False)
is_enable = models.BooleanField(verbose_name=_("Is Enable"), default=False)
banner_updated = models.DateTimeField(auto_now=True)
banner_created = models.DateTimeField(auto_now_add=True)
class Meta:
verbose_name = "Banner"
verbose_name_plural = "Banners"
ordering = ['-banner_updated', 'is_enable']
def __unicode__(self):
return "width: %s, height: %s" % (self.width, self.height)
def save(self):
is_new = False
if self.pk is None:
is_new = True
super(Banners, self).save()
if is_new == True:
keyword = Keywords.objects.get(pk=1)
self.keywords.add(keyword)