2014-09-24 57 views
1

我试图让Twitter克隆,这是我试图发送推文时的问题。'用户'对象不支持索引

模型

class Tweet(models.Model): 
    text = models.CharField(max_length=140) 
    date = models.DateField(default=date.today) 
    user = models.ForeignKey(User, unique=True) 

形式

class TweetForm(forms.ModelForm): 
    class Meta: 
     model = Tweet 
     exclude = ["user", 'date'] 

,现在我想将用户添加到mannualy鸣叫信息,但得到的错误:'User' object does not support indexing

这里是视图:

if request.method == 'POST': 
     form = TweetForm(request.POST) 
     # Have we been provided with a valid form? 
     if form.is_valid(): 
      author = form.save(commit=False) 
      author.user = UserProfile.objects.get(request.user) #HERE ASIGNING THE USER 
      author.save() 

如何正确分配用户推文?

回答

4

只要你Author模型类有一个外键AUTH_USER_MODEL你使用(默认为auth.User)行:

author.user = UserProfile.objects.get(request.user) 

应该是:

author.user = request.user