ile request.user kullanma Giriş yapmış kullanıcılar ve bir Django ModelForm
ile ilgili bir sorun yaşıyorum. ForeignKey
User
için _Animal_
adında bir sınıf ve yaşı, ırkı ve benzeri gibi hayvanla ilgili bazı veriler var.Django ModelForm
Bir kullanıcı db Hayvanlar ekleyebilir ve her hayvanın yazarı izlemek var, bu yüzden kullanıcı bir hayvan örneği oluşturduğunda kaydettiğine dikkat request.user eklemeniz gerekir.
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
ana hedefi formda yayıncı alanını gizlemek ve tasarrufu düğmesini vururken açmış kullanıcıyı göndermektir.
Geçerli kullanıcıyı initial
kullanarak görüntüleyebilirim, ancak istediğim de alanı görüntülemiyor.
views.py Sadece o zaman, form dışında tutmak görünümünde ayarlamanız gerekir
@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)
mi? – shailenTJ