在
PipedriveSync
GenericForeignKey
所以任何模特都可以
对象相关。
class PipedriveSync(TimeStampedModel):
...
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type', 'object_id')
GenericRelation
user.pipedrivesyncs.all()
看一看
User
class User(AbstractUser):
pipedrivesyncs = GenericRelation('pipedrive.PipedriveSync')
因为我必须说明
pipedrivesyncs
对于很多模型,我决定创建一个MIXIN(有两种方法,但现在没关系)。
class PipedriveSyncRelatedMixin():
pipedrivesyncs = GenericRelation('pipedrive.PipedriveSync')
class User(PipedriveSyncRelatedMixin,AbstractUser):
pass
问题是
Mixin
具体情况
管道驱动同步
手动:
> u = User.objects.first()
> u.pipedrivesyncs.first()
> <PipedriveSync: PipedriveSync object (20)>
混合蛋白
> u = User.objects.first()
> u.pipedrivesyncs.first()
> AttributeError: 'GenericRelation' object has no attribute 'first'
混合蛋白