我有这两个模型:
class Module(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(unique=True, max_length=255)
class Subject(models.Model):
id = models.AutoField(primary_key=True)
module = models.ForeignKey(Module)
然后我创建了 ModelAdmin:
class SubjectAdmin(admin.ModelAdmin):
list_display = ('module', 'name', 'enabled',)
list_filter = ('module', 'name',)
search_fields = ('module', 'name',)
但我无法按模块过滤或搜索。
最佳答案
您注册了 ModelAdmin 吗?
admin.site.register(Subject, SubjectAdmin)
您可能还想尝试给模块一个
__unicode__
方法,或使用关系跨越。list_filter = ('module__name', 'name',)
# or...
# within Module
def __unicode__(self):
return self.name
关于Django search_fields外键不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5768165/