2017-06-15 2 views
1

モデル名のソングを作成し、ソングをWebサイトにアップロードするためのフォームを作成しました。私は特定のユーザに曲を保存する方法を思っていたので、私は、ユーザーがアップロードした曲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()) 
関連する問題