Настройка формы Django на основе модели из двух разных моделейPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Настройка формы Django на основе модели из двух разных моделей

Сообщение Anonymous »


У меня есть следующие 3 модели в django.

models.py ============= класс Клиент(модели.Модель): name = models.CharField(max_length=255, null=False, unique=True) класс Сервис(модели.Модель): name = models.CharField(max_length=255, null=False) архитектура = модели.NameField() класс customer_services(models.Model): клиент = модели.ForeignKey(Клиент, on_delete=models.SET_NULL, null = True, linked_name = 'customer_service_entries') service = models.ForeignKey(Service, on_delete=models.SET_NULL, null=True, linked_name='customer_service_entries') начало = модели.DateField() конец = модели.DateField() У меня есть следующие формы

forms.py ============== класс CustomerForm(ModelForm): класс Мета: модель = Клиент поля = ["имя"] класс CustomerServiceForm(ModelForm): класс Мета: модель = клиент_услуги поля = ["сервис", "начало", "конец"] класс ServiceForm(ModelForm): класс Мета: модель = Сервис поля = ["имя", "архитектура"] Я пытаюсь создать форму, в которой я мог бы добавлять услуги клиентам, и проблема, с которой я столкнулся, заключается в том, что в форме будут отображаться только поля из CustomerServiceForm. Проблема, с которой я столкнулся, заключается в том, что в таблице служб у меня может быть несколько служб с одним и тем же именем, но с разной архитектурой, но у меня нет способа отобразить это в форме. Допустим, у меня есть следующие значения в таблице Service.

таблица сервисов ============== идентификатор || имя || архитектура 1 || Тест || 32-битный 2 || Тест || 64-битный 3 || Другой тест || 32-битный 4 || Другой тест || 64бит 5 || ТестДва || 32-битный По сути, мне бы хотелось показать в форме что-то вроде этого

Тест – 32 бит Тест — 64 бит AnotherTest – 32 бит AnotherTest – 64 бит TestTwo – 32 бит Как отобразить архитектуру в раскрывающемся списке выбора? Я не могу придумать, как отобразить ее в форме, поскольку она не является частью этой модели.
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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