0

我在 Django 应用程序中有以下模型:如何获取此模型中任何选定 content_object 的“名称”属性并将其显示在 modelAdmin 类的 list_display 中,而不仅仅是显示 GenericForeign Key 对象的键。请我真的需要帮助。

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 回答