there is sample code:
models:
class A(models.Model):
any attr_A
....
class B(A):
any attr_B
....
class C(models.Model):
a = models.ManyToManyField(A)
views:
c = C()
b = B()
c.a.add(b) - add B class instance
c.save()
...
a = c.a.all()
a[0].attr_B
But "a" list contains A class instances and I can't get attributes for class B.
How I can get class B attributes?
There is no relation between A and B, its just inheritance. It should be:
class A(models.Model):
any attr_A
....
class B(A):
any attr_B
....
class C(models.Model):
a = models.ManyToManyField(B)
Even if it would be a relationship, it should be that way:
class A(models.Model):
any attr_A
....
class B(models.Model):
a = models.ForeignKey(A)
any attr_B
....
class C(models.Model):
a = models.ManyToManyField(A)
and then:
a[0].b.attr_B