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