2017-06-15 48 views
1

我创建了一个模型名称歌曲,并且我制作了一个将歌曲上传到网站的表单。我不知道如何将歌曲保存到特定的用户,这样我就可以在数据库中查询所有用户上传的歌曲如何将对象保存到django中的用户1.10

我的模型:

class Song(models.Model): 
    user=models.ForeignKey(User, null = True) 
    song_name = models.CharField(max_length = 100) 
    audio = models.FileField() 

笔者认为:

class SongCreate(CreateView): 
    model = Song 
    fields=['song_name','audio'] 

摘要:
我可以上传歌曲,但我不能将它们链接到用户
PS我很新的Django的

回答

3

您可以使用CreateViewform_valid方法将用户分配给歌曲并保存。

from django.shortcuts import redirect 
from django.views.generic.edit import CreateView 

class SongCreate(CreateView): 
    model = Song 
    fields=['song_name','audio'] 

    def form_valid(self, form): 
     song = form.save(commit=False) 
     song.user = self.request.user 
     song.save() 
     return redirect(self.get_success_url()) 
相关问题