ActivityLog
次のフィールドを持つ汎用外部キーを定義する Django モデルがあります。
model_type = models.ForeignKey(ContentType, verbose_name=_("Object type"))
object_id = models.PositiveIntegerField(_("Object id"))
object = generic.GenericForeignKey('model_type', 'object_id')
関連が削除されていない (None ではない)ActivityLog
インスタンスをフィルタリングする必要があります。object
Django は on delete カスケードを実行しないGenericForeignKey
ため、この望ましくないレコードをルックアップから除外する必要があります。これを行うための簡単で標準的で効率的な方法はありますか?
素晴らしい世界では、次のようなものを使用します。
real_activity_logs = ActivityLog.objects.filter(object__isnull=False)
しかし、これはobject
データベース フィールドではないため機能しません。