ログインユーザーとDjango ModelForm
に問題があります。私は_Animal_
という名前のクラスを持っていて、ForeignKey
からUser
までのデータと、年齢、レースなどの動物に関するデータがあります。Django ModelFormでrequest.userを使用しています
ユーザーがDBに動物を追加することができますし、私は、各動物の作者を追跡する必要があるので、私は、ユーザーが、動物のインスタンスを作成するときに記録されからrequest.userを追加する必要があります。
models.py
class Animal(models.Model):
name = models.CharField(max_length=300)
age = models.PositiveSmallIntegerField()
race = models.ForeignKey(Race)
...
publisher = models.ForeignKey(User)
def __unicode__(self):
return self.name
class AnimalForm(ModelForm):
class Meta:
model = Animal
主な目的は、フォームでの出版社のフィールドを非表示にし、保存ボタン押すときログインしているユーザーを提出しています。
initial
を使用して、現在のユーザーを表示することができますが、私が望むのはフィールドを表示しないことです。
views.py
@login_required
def new_animal(request):
if request.method == "POST":
form = AnimalForm(request.POST)
if form.is_valid():
form.save()
return redirect('/')
else:
variables = RequestContext(request, {'form': form})
return render_to_response('web/animal_form.html', variables)
else:
form = AnimalForm(initial={'publisher': request.user})
variables = RequestContext(request, {'form': form})
return render_to_response('web/animal_form.html', variables)
ですか? – shailenTJ