我有一个ActivityLog
Django 模型,它定义了一个具有以下字段的通用外键:
model_type = models.ForeignKey(ContentType, verbose_name=_("Object type"))
object_id = models.PositiveIntegerField(_("Object id"))
object = generic.GenericForeignKey('model_type', 'object_id')
我需要过滤相关未删除的ActivityLog
实例(不是无)。object
Django 不执行删除级联GenericForeignKey
,我需要从查找中排除这些不需要的记录。有没有一种简单、标准和有效的方法来做到这一点?
在一个美好的世界中,我会使用类似的东西:
real_activity_logs = ActivityLog.objects.filter(object__isnull=False)
但这不起作用,因为object
它不是数据库字段。