Django model field that behaves as both a GenericForeignKey and a FileField