W Django Forms, w jaki sposób określić wartość domyślną dla pola, jeśli użytkownik pozostawi puste pole? Początkowa ustawia wartość początkową, ale użytkownik może ją usunąć.Formularze Django: wartość domyślna, jeśli użytkownik opuszcza pole puste
Odpowiedz
Jeśli używasz ModelForm
wystarczy wykonać porady Dana.
Jeśli jednak po prostu używasz Form
, być może będziesz musiał określić sposób postępowania z walidacją. Example Documentation
class YourForm(forms.Form):
...
def clean_field(self):
data = self.cleaned_data['field']
if not data:
data = 'default value'
return data
'def clean_field (self): return self.cleaned_data ['field'] lub 'default value''' –
Set a default value in the model.
class YourModel(models.Model):
this_field = models.TextField(default="default_value")
Próbowałem forms.CharField (domyślnie = "0") i otrzymałem komunikat o błędzie: "__init __() otrzymało nieoczekiwany argument słowa kluczowego" default "" – user984003
Dodaj go do rzeczywistego modelu, a nie do formularza. Twój model będzie w 'models.py'. W ten sposób za każdym razem, gdy zapiszesz kopię modelu - w twoim przykładzie za pośrednictwem formularza - domyślna wartość zostanie dodana do tego modelu, jeśli pozostanie pusta. Myślę, że jest to lepsze rozwiązanie niż poprzez walidację w terenie, zwłaszcza jeśli zamierzasz zezwolić na korzystanie z Admin. –
Ah, rozumiem, co masz na myśli. Tak, to działałoby, z tym, że moja forma i model nie pasują do siebie. Pola formularza są wszystkie wiersze w tej samej kolumnie. – user984003
- 1. Jak dodać atrybut zastępczy, jeśli pole "wartość" jest puste
- 2. Django: Jak wykluczyć pole formularza, jeśli użytkownik jest pracownikiem?
- 3. Django: Chcesz wyświetlić puste pole jako puste zamiast wyświetlania
- 4. Wartość domyślna dla pola w modelu Django
- 5. Jquery, jeśli pole hasła jest puste
- 6. Unikać XML całkowitą analizy: jeśli pole puste
- 7. Django sprawdź, czy pole jest puste?
- 8. Jeśli pole wejściowe jest puste, wyłącz przycisk przesyłania
- 9. UUID jako wartość domyślna w modelu Django
- 10. Formularze Django. Forma kontra formularze. Modelelorm
- 11. Gdzie definiujesz formularze django?
- 12. Mysql WorkBench: Domyślna wartość varchar jako pusta
- 13. wymagane puste pole php
- 14. Formularze w formacie pola Django
- 15. Django: DateField "To pole nie może być puste."
- 16. Puste, puste i wymagane w modelach Django i ModelForms
- 17. Szyny 3: Użytkownik utworzył niestandardowe formularze?
- 18. Django zaznacz, jeśli pole wyboru jest zaznaczone
- 19. Python argparse: wartość domyślna lub podana wartość
- 20. Zapytanie GraphQL: zawiera tylko pole, jeśli nie jest puste.
- 21. Powrót 0, jeśli pole jest puste w MySQL
- 22. Jak wykryć, czy użytkownik opuszcza stronę w PHP
- 23. eval "$ (domyślna wartość domyślna docker-machine)"
- 24. Klasy ES6 Wartość domyślna
- 25. DependencyProperty Wartość domyślna
- 26. Django: Jak sprawdzić, czy użytkownik pozostawił wszystkie pola puste (lub wartości początkowe)?
- 27. Heterogeniczne formularze w formularzu django
- 28. Przetestuj formularze django sprawdzane ValidationError
- 29. DataContract, domyślna wartość DataMember
- 30. combobox wartość domyślna winforms C#
myślę, że należy ustawić wartość domyślną w modelu – daveoncode
można rozwiązać w dziedzinie walidacji metody (clean_fieldname). https://docs.djangoproject.com/en/dev/ref/forms/validation/ – PepperoniPizza
Dzięki, clean_fieldname wydaje się być do zrobienia. Miałem nadzieję, że istnieje sposób, aby to określić, kiedy zdefiniowałem pole, ale chyba nie. – user984003