在模型中有一个名为“created”的字段 - Django

时间:2010-09-03 12:03:10

标签: python django django-models

我有一个如下模型:

class Item(models.Model):

    name = models.CharField(max_length=150)
    created = models.DateTimeField(auto_now_add=True)

admin类如下:

class ItemAdmin(admin.ModelAdmin):

    list_display = ('name', 'created')

创建的字段似乎不存在

我是否缺少或遗忘了一些基本的Django知识?

3 个答案:

答案 0 :(得分:5)

当您说该字段不存在时,您是否表示它未显示在管理员更改表单上?使用auto_now_add时,这是预期的行为。如果您希望该字段在创建时获得默认值但仍可编辑,请改为使用default=datetime.datetime.now

答案 1 :(得分:1)

奇怪。我试用了你的例子,它运行得很好(Django 1.2.1,Python 2.6.2) 你能核实一下:

  1. 该字段存在于数据库中(可能触发SQL查询)
  2. 检查您的admin.py(再次)是否存在任何差异。
  3. <强>更新

    @Danielanswer更有可能帮助OP。

答案 2 :(得分:0)

请确保不要忘记在admin.py中注册ItemAdmin:

admin.site.register(Item, ItemAdmin)

但是,“已创建”字段只会显示在“项目”列表页面中,以及添加其他字段时,例如:

updated = models.DateTimeField(auto_now=True)