2015-02-23 62 views
0

團隊,我試圖爲下列字段創建一個新帖子的表單。標題,正文,類別。我需要在登錄時使用用戶名自動保存作者姓名(這裏稱爲所有者),但儘管我可以使用日期和時間來完成此操作,但我並未與用戶協作,請您幫忙嗎?請把更詳細,你可以SimpleLazyObject的對象不可調用

查看:

def create_post(request): 
    if request.method == 'POST': 
     form = CreatePostForm(request.POST) 

     if form.is_valid(): 
      post = form.save(commit=False) 
      post.datposted = datetime.datetime.now() 
      post.owner = request.user() 
      post.save() 
      return HttpResponseRedirect('/posts/') 
     else: 
      return HttpResponse("Favor. Verifique os campos necessarios") 

    else: 
     form = CreatePostForm() 
     f = {'form' : form} 
     return render(request,'create_post.html',f) 

型號:

class Post(models.Model): 
    title = models.CharField(max_length=100) 
    body = models.TextField() 
    datposted = models.DateTimeField('date posted') 
    category = models.ForeignKey('Category') 
    owner = models.ForeignKey('UserProfile') 

    def __str__(self): 
     return '%s' % self.title 

class Category(models.Model): 
    title = models.CharField(max_length=100) 
    def __str__(self): 
     return self.title 

class UserProfile(models.Model): 

    user = models.OneToOneField(User) 


    website = models.URLField(blank=True) 
    picture = models.ImageField(upload_to='profile_images', null=True) 


    def __unicode__(self): 
     return self.user.username 

class Logout(User): 
    force_logout_date = models.DateTimeField(null=True, blank=True) 
+0

整個錯誤: 'SimpleLazyObject' 對象不是可調用 請求方法:\t POST 請求URL:\t http://127.0.0.1:8000/newpost/ Django的版本:\t 1.7.4 異常類型:\t類型錯誤 異常值:\t 'SimpleLazyObject' 對象不是可調用 異常位置:\t C:\用戶\文檔\ Treinamentos \的Python \項目\ projeto_blog \ blogapp \ views.py我Ñcreate_post,線176 Python的可執行文件:\t C:\ Python27 \ python.exe Python的版本:\t 2.7.9 Python的路徑:\t ['C:\\用戶\\文獻\\ Treinamentos \\的Python \ \ projects \\ projeto_blog', – 2015-02-23 17:23:27

回答

1

你不應該撥打的用戶對象。

post.owner = request.user 
+0

我應該如何引用用戶然後在數據庫上保存這些信息? – 2015-02-23 18:08:21

+0

在Daniel的回答中注意,用戶對象沒有一對括號作爲你發佈的代碼片段。 – Dirtycoder 2015-02-23 18:14:25

+0

抱歉沒有注意到。我做了這樣的建議丹尼爾和得到這個: 請求方法:\t POST 請求URL:\t http://127.0.0.1:8000/newpost/ Django的版本:\t 1.7.4 異常類型:\t ValueError異常 異常值:\t 無法分配「>」:「Post.owner」必須是「UserProfile」實例。 異常位置:\t C:\ Python27 \ lib \ site-packages \ django \ db \ models \ fields \ related.py in __set__,line 597 – 2015-02-23 18:23:00