В Django Admin поиск по реляционному ключу (1to1) - PullRequest
0 голосов
/ 09 января 2019

У меня есть две модели: владелец и сущность с отношением OneToOne.

class Owner(models.Model):
    name = models.CharField(max_length=255)
    .....
    def __str__(self):
        return self.name

class Entity(models.Model):
    owner = models.OneToOneField(Owner, blank=True, null=True, on_delete=models.CASCADE)
    name = models.CharField(max_length=255) 
    ......

Для Django Admin, поля поиска у меня есть:

class EntityAdmin(admin.ModelAdmin):
    .....
    search_fields = ('email', 'name', 'owner')

Если я пытаюсь выполнить поиск, я получаю следующую ошибку:

 Related Field got invalid lookup: icontains

Если я удаляю owner, но я все еще хочу искать по owner

1 Ответ

0 голосов
/ 09 января 2019

Как показывает документы , вам необходимо проследить связь с фактическим текстовым полем. Итак:

search_fields = ('email', 'name', 'owner__name')
...