2009-06-28 22 views
18

Jak przypisać wartości początkowe do pól w ModelForm? np:Jak podać wartość początkową w modelu modelu

class Form1(forms.Form): 
    title=forms.CharField(initial="hello") 

Jaki będzie równoważny do tego przy użyciu ModelForm którego podstawowa składnia jest coś takiego:

class Form2(djangoforms.ModelForm): 
    class Meta: 
     model=SomeModel 
     fields=('title',) 

Co staram się zrobić to wygenerować CRUD. Ponieważ robię to w projekcie appengine, nie mogę używać ogólnych widoków. Appengine dostarczył nam djangoforms.ModelForm, który działa tak samo jak django na ModelForm, ale wykorzystuje datastore appengine.

Potrzebuję powyższej funkcji do wykonania części "edytuj".

+0

powiązanymi: http://stackoverflow.com/q/604266/212218 –

Odpowiedz

24

Normalnie można przekazać obiekt modelu, który edytujesz, jako słowo kluczowe arg, do postaci: Form2(instance = somemodelobject), ale nie wiem, czy działa na GAE. Zawsze możesz przejść do początkowego słownika konstruktora formularza, podobnie jak

Form2(initial = {"title": "blahblah"}) 
+1

dzięki zarówno metod dałeś pracę ... – Dhushyanth

4

domyślnych Wzór formularza pochodzą z samego modelu. Na przykład:

class SomeModel(models.Model): 
    title = models.CharField(max_length=45, default="hello") 

Nie trzeba wprowadzać żadnych zmian w ModelForm:

class RequestForm(forms.ModelForm): 

    class Meta: 
     model = SomeModel 
Powiązane problemy