2015-07-04 124 views
-1

我試圖創建一個表單,其中註冊用戶創建並在數據庫中插入主鍵ID,但這不會給我以下錯誤列'user_id'不能爲空'user_id'列不能爲空django

這是我的models.py

class posts(models.Model): 
    titulo = models.CharField(max_length=180, unique=True) 
    slug = models.SlugField(max_length=180, editable=False) 
    contenido = models.TextField() 
    categoria = models.ForeignKey(categorias) 

    user = models.ForeignKey(User) 
    tags = models.CharField(max_length=200) 
    creado = models.DateTimeField(auto_now_add=True) 
    modificado = models.DateTimeField(auto_now=True) 

    def save(self, *args, **kwargs): 
     self.slug = slugify(self.titulo) 
     super(posts, self).save(*args, **kwargs) 

    def __str__(self): 
     return self.titulo 

這是我view.py

def addPosts(request): 
    if request.method == "POST": 
      form = addPostForm(request.POST) 
      if form.is_valid(): 
       add = form.save(commit=False) 
       #add.user = User.objects.get(id=request.user) 
       add.save() 
       form.save_m2m() 
       return HttpResponseRedirect('/') 
     else: 
      form = addPostForm() 
     ctx = {'form': form} 
     return render_to_response('posts/add.html', ctx, context_instance=RequestContext(request)) 

這是forms.py

class addPostForm(forms.ModelForm): 
     class Meta: 
      model = posts 
      exclude = {'slug','user', 'creado'} 

解決此問題的一些方法?

+0

歡迎來到StackOverflow。請花幾分鐘時間閱讀並學習如何[提出一個好問題](http://stackoverflow.com/help/how-to-ask)。具體來說,嘗試編輯您的問題並添加一些上下文。你想實現什麼?你遇到什麼問題?我們應該能夠理解yopu在閱讀代碼時所要求的問題。目前,您的問題是:「這是我的模型,這是我的觀點,解決方案?」 – Antwane

+0

謝謝,請helpme – vdjkelly

回答

1

Request.user返回當前用戶對象。無需查詢。

add.user = request.user 
在你看來

+0

add.user = User.objects.get(id = request.user)int()參數必須是一個字符串,一個類似字節的對象或一個數字,而不是'SimpleLazyObject' – vdjkelly

+0

說明你做了兩次這項工作。道歉,應該第一時間抓到它 – Incognos

+0

感謝兩天找到一個簡單的解決方案, – vdjkelly

相關問題