在Django Admin中,通过关系键(1to1)

时间:2019-01-09 14:08:19

标签: django django-admin

我有两个模型,拥有者和拥有一对一关系的实体。

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 :(得分:1)

the docs所示,您需要遵循关系到实际的文本字段。所以:

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