Django Admin显示“(没有)”

时间:2015-02-28 16:34:51

标签: django-admin

我想在app / model admin中显示模型的列,但需要进行一些自定义。这些3'tar','per_hor','per_tar'在他们的模板中有选择。

首先我写了这段代码:

class ValoresAdmin(admin.ModelAdmin):
  list_display = ('fecha', 'tar', 'per_hor','per_tar')
  list_filter = ('fecha','tar','per_tar','per_hor')
  date_hierarchy = 'fecha'
  fieldsets = (
    (None, {
        'fields': ('fecha',('tar', 'per_hor', 'per_tar'))
    }),
    (None, {
        'fields': ('feu', 'coef_perf','sah', 'pmh','carg_cap')
    }),
)

我显示了列的详细名称,但过滤器页面上的值始终为“(无)”但如果我输入更改表单,则会正确显示其值(他们的选择)。

我读了一些并决定创建类似这些的方法并在list_display中调用它们:

def get_tar(Self):
 return self.get_tar_display()
def get_per_hor(Self):
 return self.get_per_hor_display()
def get_per_tar(Self):
 return self.get_per_tar_display()

get_tar_display.short_description = 'Tarifa'
get_per_hor_display.short_description = 'Periodo horario'
get_per_tar_display.short_description = 'Periodo tarifario'

现在,过滤器页面将显示名为短描述 BUT 的列,其中包含字段的实际值,而不是他们的“选择值”。

Addiotionally如果我将'per_tar'标记为不可编辑,它将在更改中显示“(无)”而不是存储值。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

在互联网上潜水我在这里找到答案:

http://thinkingnectar.com/2009/django-get_foo_display-behaviour-with-characters-and-integer-fields/

帖子评论当字段为char类型时,选择键应该是一个字符串,但当它是一个整数字段时,它应该是一个整数! 这是我的问题!将字符串更改为整数使其正常工作。