0
我有几个使用多表继承的模型。像这样。多表继承;对儿童的唯一标题只有
class Group(models.Model):
title = models.CharField(unique=True,max_length=255)
class UserGroup(Group):
user = models.ForeignKey(User)
def save(self, *args, **kwargs):
self.title = self.user.username
return super(Group, self).save(*args, **kwargs)
UserGroups需要具有唯一的标题,Groups也是如此。但是,UserGroup是否与Group具有相同的标题并不重要。事实上,这在某些情况下会发生。我怎样才能做到这一点?
编辑: 如果我使用save方法创建一个名称空间,该怎么办?
class UserGroup(Group):
user = models.ForeignKey(User)
def save(self, *args, **kwargs):
self.title = "user:" + self.user.username
return super(UserGroup, self).save(*args, **kwargs)
class Group(models.Model):
title = models.CharField(unique=True,max_length=255)
def save(self, *args, **kwargs):
self.title = "group:" + self.title
return super(Group, self).save(*args, **kwargs)
这是一个很好的解决方案吗?
如果我走这条路线,有没有办法强制儿童班有标题栏? –
从声明该字段的抽象模型中派生它们。 –