我希望能够在管理界面中使用Notes时,使用Note包含对当前已通过身份验证的用户的引用。该模型看起来像:
from django.db import models
from django.contrib.auth.models import User
from datetime import datetime
class Note(models.Model):
datetime = models.DateTimeField(default=datetime.now)
author = models.ForeignKey(User, default=authenticated_user)
note = models.TextField()
def __unicode__(self):
return unicode(self.author) + u' - ' + unicode(self.datetime)
用户应该看到的唯一字段是注释文本字段。日期时间和作者应该由模型,管理界面或其他任何东西自动填写。可以这样做吗?有人有一些示例代码吗?
谢谢!
答案 0 :(得分:4)
通过为日期时间字段定义指定auto_now_add=True
,可以设置日期。
要在admin中将用户设置为save,请在管理员类中执行以下操作:
class NoteAdmin(admin.ModelAdmin):
...usual admin options...
def save_model(self, request, obj, form, change):
obj.user = request.user
obj.save()