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)
這是一個很好的解決方案嗎?
如果我走這條路線,有沒有辦法強制兒童班有標題欄? –
從聲明該字段的抽象模型中派生它們。 –