1
class Dad(models.Model):
name = models.CharField()
def __str__(self):
return self.name
class Son(Dad):
dad = models.ForeignKey(Dad, related_name='sons')
>>> dad = Dad(name="Leonid")
>>> dad.save()
>>> Dad.objects.all()
[<Dad: Leonid>]
>>> son = Son(name='Jason')
>>> dad.sons.add(son)
>>> Dad.objects.all()
[<Dad: Leonid>, <Dad: Jason>]
>>> Son.objects.all()
[<Son: Jason>]
私はDadのマネージャーにJasonオブジェクトを持ちたくありません。私は、父親だけをフィルタリングするためにカスタムマネージャを使いたくない。子クラスのオブジェクトを含まないエレガントな方法がありますか?DjangoスーパークラスのマネージャーはForeignKey経由で子クラスの不要なオブジェクトを持っています