我是一个新的Django(1.3)用户,我正在设置典型的博客/文章应用程序。我有一个模型,我想保存当前的用户名(看看谁创建了这篇文章)。我已经实现了advice on this,但是我的代码使用以下消息来崩溃服务器:“NameError:name'User'未定义”。这是我的模特:
from django.db import models
class Resort(models.Model):
name = models.CharField(max_length=300)
description = models.TextField()
location = models.CharField(max_length=300)
ski_hire = models.TextField()
weather = models.TextField()
piste_map = models.TextField()
webcam = models.TextField()
snow = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
modified_at = models.DateTimeField(auto_now=True)
author = models.ForeignKey(User)
def __unicode__(self):
return self.name
我怀疑我需要在admin.py中覆盖save方法,但我不知道该怎么做。任何建议将不胜感激。谢谢!
答案 0 :(得分:0)
在外键中使用User时,您需要确保从models.py中的django.contrib.auth.models
导入用户。
在您的admin.py中,您可以使用save_model:
class ResortAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.author = request.user
obj.save()
答案 1 :(得分:0)
也许你应该在分配之前导入User类?
from django.contrib.auth.models import User