Django的。访问Model.objects

时间:2017-04-11 23:36:49

标签: django parent-child

class SeoBasic(models.Model):
    slug = models.SlugField(verbose_name='URL', blank=True, null=True)
   ...
def save(self, *args, **kwargs):
    duplicate = SeoBasic.objects.filter(slug=self.slug).exclude(pk=self.pk).count() > 0
    if duplicate:
      #update slug to be unique

    super(SeoBasic, self).save(*args, **kwargs)


class ModelA(SeoBasic):
   pass

class ModelB(SeoBasic):
   pass

是否可以更新SeoBasic的保存方法,以便ModelA和ModelB仅在他们自己的类中搜索重复项?

当然,我可以将save()方法添加到ModelA和ModelB中。但有没有办法在父类中编写代码而不修改子类中的代码?

编辑: 在ModelA中我需要slug字段对于modelA是唯一的,在modelB中它必须对于modelB是唯一的,但它也可能是ModelA.slug = ModelB.slug

0 个答案:

没有答案