レシピを処理するモデルがあり、ユーザーがフォームを介して独自のレシピを入力できるようにしたいとしましょう。次に、そのレシピ エントリを入力したユーザーのユーザー ID に関連付けます。私の推測では、私のモデルは次のようになります。
class Recipe(models.Model):
name = models.CharField(max_length=100)
body = models.TextField()
creator = models.ManyToManyField(User)
def __unicode__(self):
return self.creator
あれは正しいですか?モデル フォームを作成すると、次のようになります。
class RecipeForm(ModelForm):
class Meta:
model = Recipe
しかし、送信時にユーザー情報を Recipe モデルに自動的に渡すにはどうすればよいでしょうか? これは私の見解では起こりますか?
私の現在の見解は次のようなものです:
def recipe(request):
if request.method == 'POST':
form = RecipeForm(request.POST) #if POST method, bound form to POST data
if form.is_valid():
form.save()
else:
form = RecipeForm() #unbound form.
recipe_list = Recipe.objects.all()
return render_to_response('forms/recipes.html',
{'form': form, 'recipe_list': recipe_list},
context_instance = RequestContext(request))
モデルを保存する前に、ユーザーをモデルに設定するにはどうすればよいですか?