【发布时间】:2017-04-30 13:26:26
【问题描述】:
我有一个像这样的超类:
class Superclass(models.Model):
number = models.PositiveIntegerField()
class Meta:
abstract = True
def get_next(self):
return Superclass.objects.get(number=self.number+1)
现在,我有一个继承自超类的子类。
有什么问题?
- 我不能这样做:
Superclass.objects,因为超类不引用任何数据库表。 - 我不想查询所有超类子类,只查询当前子类中的一个,像这样:当我做
instance_of_child1.get_next时,我不想得到@的实例987654324@.
如何解决?
- 我的第一个想法是为任何包含该类的子类添加一个静态常量(所以我可以这样做
self.myclass.objects)但这似乎不是一个好方法。 - 使方法
get_next成为子类的一部分。问题:会有重复。
【问题讨论】:
标签: django inheritance python-object