Django 德扬戈。访问Model.objects
是否可以更新SeoBasic的save方法,以便ModelA和ModelB只在它们自己的类中搜索重复项 当然,我可以将save()方法添加到ModelA和ModelB中。但是有没有办法在不修改子类中的代码的情况下在父类中编写代码呢 编辑:Django 德扬戈。访问Model.objects,django,parent-child,Django,Parent Child,是否可以更新SeoBasic的save方法,以便ModelA和ModelB只在它们自己的类中搜索重复项 当然,我可以将save()方法添加到ModelA和ModelB中。但是有没有办法在不修改子类中的代码的情况下在父类中编写代码呢 编辑: 在ModelA中,我需要slug字段对于ModelA是唯一的,而在modelB中,它对于modelB必须是唯一的,但也可能是ModelA.slug=modelB.slug您试图实现的确切目标是什么?很难理解。只需使用django autoslug,Jesus。
在ModelA中,我需要slug字段对于ModelA是唯一的,而在modelB中,它对于modelB必须是唯一的,但也可能是ModelA.slug=modelB.slug您试图实现的确切目标是什么?很难理解。只需使用
django autoslug
,Jesus。在ModelA中,我需要slug字段对ModelA是唯一的,在modelB中,它对modelB必须是唯一的,但也可能是ModelA.slug=modelB.slug。
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