0

Django アプリに次のモデルがあります: GenericForeign Key オブジェクトのキーを表示するだけでなく、このモデルで選択した content_object の "name" 属性を取得し、modelAdmin クラスの list_display に表示するにはどうすればよいですか。これについて本当に助けが必要です。

class Checkout(models.Model):
    checkout_date = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    check_in_complete = models.BooleanField(default=False, editable=False)
    content_type = models.ForeignKey(ContentType,
                                     limit_choices_to={"model__in": ('Facilitator', 'Enumerator', 'Tutor')})
    object_id = models.PositiveIntegerField(verbose_name='Receiver')
    content_object = GenericForeignKey('content_type', 'object_id')
4

1 に答える 1

0

は通常のフィールド オブジェクトではないためGenericForeignKey、フィルターでは使用できません。

Checkout.objects.filter(content_object=other_obj) # this will fail

nameしかし、チェックアウトが関連付けられているオブジェクトのプロパティにアクセスしたい場合はGenericForeignKey、次のように実行できます。

name = checkout_obj.content_object.name
于 2016-04-28T05:20:28.237 に答える