gpt4 book ai didi

模型 Mixin 中的 Django GenericRelation

转载 作者:行者123 更新时间:2023-12-04 12:07:06 25 4
gpt4 key购买 nike

我有 mixin 和模型:

class Mixin(object):
field = GenericRelation('ModelWithGR')

class MyModel(Mixin, models.Model):
...

但是django不转 GenericRelation场成 GenericRelatedObjectManager :
>>> m = MyModel()
>>> m.field
<django.contrib.contenttypes.fields.GenericRelation>

当我将字段放入模型本身或抽象模型时 - 它工作正常:
class MyModel(Mixin, models.Model):
field = GenericRelation('ModelWithGR')

>>> m = MyModel()
>>> m.field
<django.contrib.contenttypes.fields.GenericRelatedObjectManager at 0x3bf47d0>

我如何使用 GenericRelation在混合?

最佳答案

您始终可以从 Model 继承并使其抽象而不是从 object 继承它. Python 的 mro 会解决所有问题。
像这样:

class Mixin(models.Model):
field = GenericRelation('ModelWithGR')

class Meta:
abstract = True

class MyModel(Mixin, models.Model):
...

关于模型 Mixin 中的 Django GenericRelation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28115239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com