我在Django应用程序中有以下模型: 如何在此模型中获取任何所选content_object的“name”属性,并将其显示在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')
答案 0 :(得分:0)
由于GenericForeignKey
不是普通的字段对象,因此您无法在过滤器中使用它:
Checkout.objects.filter(content_object=other_obj) # this will fail
但是,如果您要访问对象的name
属性,则结帐与使用GenericForeignKey
相关联,您可以执行以下操作:
name = checkout_obj.content_object.name