比方说,我有一个模型
class Job(Model):
created_on = DateTimeField(_("Created On"), auto_now=True, editable=False)
name = CharField(_("Name"), max_length=300, blank=False)
现在,我试图将所有字段与它们的粗略名称和值集合起来,在一个模板中显示。
我的聚合函数。
def get_fields(self):
result = []
for field in Job._meta.fields:
result.append((field.name, field.verbose_name, field.value_to_string(self)))
这给了我正确的字符串值,然而对于一个日期时间字段,我最终得到了一个愚蠢的未格式化的字符串,如2021-02-13T22:39:47.561045+00:00
我真的不想通过专门检查特定字段的方式来检查和修改数值,因为这是我的get_field函数的全部意义所在。
我觉得以下任何一种对我来说都应该很好用。
Somehow provide the default format to use when calling value_to_string()
Get a proper dateTime object instead, in which case the value should show up fine on the template
Get field type and then instead of calling value_to_string() I manually convert the string to this type (This seems feasible from what I see but feels too hacky of a solution)