我有一个抽象模型,其中包含我的模型的常见字段,但是如何定义一个独特的slug,因为我无法对抽象模型进行查询,只能查询其子类?
我正在寻找一种干净简单的方法,而没有手动提及子类的名称。
class MainModel(models.Model):
title = models.CharField(_('title'), max_length=150)
slug = models.SlugField(_('slug'), unique=True, max_length=150)
category = models.ForeignKey('Category', verbose_name=_('category'))
class Meta:
abstract = True
def save(self, *args, **kwargs):
# define unique slug for ChildModel1, ChildModel2
class ChildModel1(MainModel):
active = models.BooleanField()
class ChildModel2(MainModel):
content = models.TextField()
答案 0 :(得分:0)
您可以尝试使用模型的verbose_name
:
def save(self, *args, **kwargs):
# fill in make_slug yourself
self.slug = make_slug(self._meta.verbose_name)