Получить атрибут имени ключевого объекта GenericForeign

У меня есть следующая модель в приложении Django: Как я могу получить атрибут "name" любого выбранного объекта content_object в этой модели и отобразить его в list_display класса modelAdmin вместо простого отображения ключей объектов Key GenericForeign. Пожалуйста, мне действительно нужна помощь с этим.

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')

1 ответ

Поскольку GenericForeignKey не является обычным полевым объектом, вы не можете использовать его в фильтрах:

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

Но если вы хотите получить доступ к name свойство объекта, к которому относится оформление заказа GenericForeignKey Вы можете сделать это следующим образом:

name = checkout_obj.content_object.name
Другие вопросы по тегам