有谁知道如何在Django模型中向属性添加自定义名称?例如,如果我有财产:
@property
def my_property(self):
return u'Returns some calculations'
Run Code Online (Sandbox Code Playgroud)
我在admin中将其显示为一列:
class MyAdmin(admin.ModelAdmin):
list_display=['my_property',]
Run Code Online (Sandbox Code Playgroud)
然后我看到"我的属性"列,我需要的是"属性X"列.我尝试使用my_property.short_description和my_property.verbose_name,但这都不起作用.
我正在使用MySQL视图(Create View as Select ...)并已成功管理以将视图连接到这样的模型:
#models.py
class Dashboard(models.Model):
devenv = models.CharField(max_length=30, primary_key=True)
numberofissues = models.BigIntegerField()
class Meta:
managed=False
db_table = 'stability_dashboard'
Run Code Online (Sandbox Code Playgroud)
我还设法使用示例中的样板代码在表格中显示数据:
#tables.py
class DashboardTable(tables.Table):
class Meta:
model = Dashboard
attrs = {'class': 'paleblue'}
#views.py
def dashboard(request):
table = DashboardTable(Dashboard.objects.all())
RequestConfig(request).configure(table)
return render(request, 'uptime/dash.html', {'table': table})
Run Code Online (Sandbox Code Playgroud)
我现在想将每列中显示的标题更改为更容易理解的内容,包括空格,例如,而不是'devenv'=>'开发环境'
如何设置verbose_name
的@property
,这是我在模型中描述的那样,这样我就可以在Django管理看到不同的字段名称(如"子类别")?
@property
def category_name(self):
return self.category.name
Run Code Online (Sandbox Code Playgroud)
我试图在方法中设置Meta short_description
和详细名称 - 它不起作用.