Kayıt yöntemi için iyi bir kullanım gösteren örnek bir snippet. Bu, temel olarak gönderilen bir formdan veri alır ve daha sonra "sahnelerin ardında" ek bilgi ekler. İşte
#Model
class Foo(models.Model):
field_one = models.CharField(max_length=10)
field_two = models.CharField(max_length=10)
field_three = models.CharField(max_length=10)
#Form
class FooForm(ModelForm):
class Meta:
model = Foo
exclude = ('field_three') #form will just show field_one and field_two
#View
def FooView(request):
if request.method == 'POST'
form = FooForm(request.POST) #gets field_one and two from form data
if form.is_valid():
new_foo = form.save(commit = False) #doesn't actually save yet
new_foo.field_three = 'Foobar!' #add data to field_three
new_foo.save() #now it saves all 3 fields
else:
form = FooForm()
return #add some sort of http response here
Kaydet (biraz daha bilgi ile
Django Docs var) ve = işlemek False Ona senin örneğe benzer bir modele statik dize ekliyorsanız, gösterir fark bir aside- olarak
yanlış yapıyorsun. Ama fikir var haha.