Django автоматическое создание формы из модели
есть ли возможность от модели типа:
class foo(models.Model):
a = models.CharField(max_length=64)
b = models.ForeignKey(foo2, on_delete=models.CASCADE, blank=True, null=True)
c = models.DateField(name='c', blank=True, null=True)
d = models.EmailField(name='d')
e = models.BooleanField(default=False, name='e')
автоматически генерировать форму типа: где для всех атрибутов (самописных) атрибут должен быть в форме. параметр name может быть меткой.
class fooform(forms.ModelForm):
a = models.CharField(name='a1', max_length=64)
b = models.ForeignKey(foo2, name='b1', on_delete=models.CASCADE, blank=True, null=True)
c = models.DateField(name='c1', blank=True, null=True)
d = models.EmailField(name='d1')
e = models.BooleanField(default=False, name='e1')
class Meta:
model = foo
fields = ['a', 'b', 'c', 'd', 'e']
labels = { 'a': 'a1',
'b': 'b1',
'c': 'c1',
'd': 'd1',
'e': 'e1'}
Я обнаружил, что могу пробежаться по всем атрибутам
attributes = [i for i in dir(foo)]
и что wsgi.py вызывается с помощью runserver. но я не могу найти способ генерировать атрибут / поле в форме для каждого атрибута модели.
Вы можете попробовать следующее:
class FooForm(forms.ModelForm):
class Meta:
model = Foo
fields = '__all__'