यहां एक नमूना स्निपेट है जो सहेजने के तरीके के लिए एक अच्छा उपयोग दिखाता है। यह मूल रूप से सबमिट किए गए फॉर्म से डेटा ले रहा है और फिर "दृश्यों के पीछे" अतिरिक्त जानकारी जोड़ रहा है।
#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
यहाँ बचाने (पर कुछ अधिक जानकारी के साथ Django Docs है) और प्रतिबद्ध = झूठी
एक aside- के रूप में मैं सिर्फ महसूस किया कि तुम मेरे उदाहरण की तरह एक मॉडल के लिए एक स्थिर स्ट्रिंग जोड़ रहे हैं, तो पता चलता है, तो आप यह गलत कर रहा है। लेकिन विचार है हाहा।
स्रोत
2011-06-30 18:43:10