我想做的事情如下:
变量p来自test.py,它是一个列表['a','b','c','d']
{% for i in p %}
{{variable++}}
{{variable}}
Run Code Online (Sandbox Code Playgroud)
结果输出为:1 2 3 4
我有一个简单的Employee模型,其中包括firstname, lastname和middlename领域.
在管理员方面,可能在其他地方,我想将其显示为:
lastname, firstname middlename
Run Code Online (Sandbox Code Playgroud)
对我来说,这样做的合理位置是在模型中通过创建一个计算字段:
from django.db import models
from django.contrib import admin
class Employee(models.Model):
lastname = models.CharField("Last", max_length=64)
firstname = models.CharField("First", max_length=64)
middlename = models.CharField("Middle", max_length=64)
clocknumber = models.CharField(max_length=16)
name = ''.join(
[lastname.value_to_string(),
',',
firstname.value_to_string(),
' ',
middlename.value_to_string()])
class Meta:
ordering = ['lastname','firstname', 'middlename']
class EmployeeAdmin(admin.ModelAdmin):
list_display = ('clocknumber','name')
fieldsets = [("Name", {"fields":(("lastname", "firstname", "middlename"), "clocknumber")}),
]
admin.site.register(Employee, EmployeeAdmin)
Run Code Online (Sandbox Code Playgroud)
最终我认为我需要的是将名称字段的值作为字符串.我得到的错误是value_to_string() takes exactly 2 arguments (1 given).字符串想要的值self, obj …