Django динамически заполняет форму модели моделью – возможно?Python

Программы на Python
Ответить
Anonymous
 Django динамически заполняет форму модели моделью – возможно?

Сообщение Anonymous »

Я пытаюсь использовать форму модели независимо от переданной модели.
Моя цель — получить список таблиц базы данных, где пользователь может выбрать таблицу, которая затем отображается. Затем в этой таблице есть возможность выбрать запись таблицы, которую можно обновить. Со временем таблицы будут меняться, поэтому я хочу использовать одну форму модели, чтобы включить все поля для редактирования и просто изменить базовую модель.
Я пробовал кое-что, и сейчас это моя «последняя» попытка, которая не работает. Есть какие-нибудь советы или рекомендации?
Это в моих представлениях.py
class DynamicModelForm(forms.ModelForm):
class Meta:
model = None
fields = '__all__'

# setting the model based on the input selection of user
def get_dynamic_form(request, model, instance=None):
DynamicModelForm.model = model
DynamicModelForm.fields = '__all__'
return DynamicModelForm(request.POST or None , instance=instance)
#
#
#
# in my class based view I am using this to list the tables
def list(self, request, model, model_name):
print(f'Pulling model {model_name}')
objects = model.objects.all()
fields = [field.name for field in model._meta.fields] # Retrieve field names

self.context['fields'] = fields
self.context['model_name'] = model_name
self.context['objects'], self.context['info'] = set_pagination(request, objects)
if not self.context['objects']:
return False, self.context['info']

return self.context, 'app/transactions/table_view.html'



Подробнее здесь: https://stackoverflow.com/questions/792 ... l-possible
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»