I have mixin and model:
class Mixin(object):
field = GenericRelation('ModelWithGR')
class MyModel(Mixin, models.Model):
...
But django do not turn GenericRelation
field into GenericRelatedObjectManager
:
>>> m = MyModel()
>>> m.field
<django.contrib.contenttypes.fields.GenericRelation>
When I put field into model itself or abstract model - it works fine:
class MyModel(Mixin, models.Model):
field = GenericRelation('ModelWithGR')
>>> m = MyModel()
>>> m.field
<django.contrib.contenttypes.fields.GenericRelatedObjectManager at 0x3bf47d0>
How can I use GenericRelation
in mixin?
You can always inherit from Model
and make it abstract instead of inheriting it from object
. Python's mro will figure everything out.
Like so:
class Mixin(models.Model):
field = GenericRelation('ModelWithGR')
class Meta:
abstract = True
class MyModel(Mixin, models.Model):
...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With