2

楷模

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_filter 1 ”指的是“key_count”,它不指代字段。

最终结果

我想制作一个显示 key_count > 10 的过滤器

我做了什么(没有成功)

我已经尝试在这篇博文的帮助下通过经理来做这件事

我不想要的

我不想通过编写新的迁移来改变我的模型。

4

1 回答 1

0

您可以尝试为您的目的创建一个自定义字段类https://docs.djangoproject.com/en/dev/howto/custom-model-fields/

不想迁移,就让南来做吧^^

http://south.aeracode.org/

祝你好运!

于 2013-03-01T14:35:34.557 回答