【问题标题】:What is the meaning of string argument in django model's Field?django模型的字段中字符串参数的含义是什么?
【发布时间】:2015-01-20 12:42:25
【问题描述】:
刚刚学习 django,我正在阅读 this tutorial 并且对此部分感到困惑:
class Question(models.Model):
pub_date = models.DateTimeField('date published')
搜索其文档后,仍然无法弄清楚'date published' 参数的含义是什么?谁能解释一下?
【问题讨论】:
标签:
python
django
django-models
models
【解决方案1】:
从您链接到的那个确切的教程页面,大约三个段落:
您可以使用字段的可选第一个位置参数来指定人类可读的名称。这在 Django 的几个内省部分中使用,它兼作文档。
【解决方案2】:
这里是一个人类可读名称含义的示例。
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('Enter published date')
所以在我们的管理面板中,我们看到我们的 pub_date 字段名称为 输入发布日期。
但如果您尝试从数据库中获取数据,您会看到字段名称为 pub_date。
>>> data_dict = Question.objects.all().values()
>>> data_dict
[{'question_text': u'What is Python?', 'pub_date': datetime.datetime(2014, 11, 22, 12, 23, 42, tzinfo=<UTC>), u'id': 1}]
【解决方案3】:
由于在文档中很难找到此功能,我认为最好明确使用 verbose_name 参数,例如
class Question(models.Model):
pub_date = models.DateTimeField(verbose_name='date published')