【发布时间】:2012-11-15 21:10:10
【问题描述】:
模型
class A(SiteAwareModel):
name = models.CharField(max_length = 255, blank = False)
description = models.TextField(blank = True, null = True)
class Meta:
def key_count(self):
return B.objects.count(self)
管理员
class AAdmin(admin.ModelAdmin):
list_display = ('key_count')
list_filter = ('key_count')
admin.site.register(A, AAdmin)
问题
我有一个模型 A,它有自己的字段(名称、描述)。此外,模型 A 使用模型 B(无外键关系)计算键数。
我想访问管理面板中的 key_count。我可以在管理员中看到一个列,意思是 list_display 有效,但是当我尝试在 list_filter 中使用它时,它会引发错误。
'AAdmin.list_filter1' 指的是 'key_count',它不引用字段。
最终结果
我想制作一个显示 key_count > 10 的过滤器
我做了什么(没有成功)
我已经尝试在 THIS 博客文章的帮助下通过经理进行此操作
我不想要的
我不想通过编写新的迁移来改变我的模型。
【问题讨论】:
-
这个问题只针对django 1.3?如果“没有外键关系”,A和B之间的关系是什么?你能显示“B”字段吗?
-
我正在使用 django 1.3.4 来具体说明。 2张桌子没有FK关系。 B 包含一些常见的字段,比如 name(CharField) 和 type(IntegerField)
标签: django-models python-2.7 django-admin django-1.3 django-admin-filters