Я пытаюсь реализовать два раскрывающихся списка на своей странице регистрации с настраиваемыми полями, которые предлагают пользователю выбрать марку телефона и конкретную модель своего телефона.
Я хочу, чтобы раскрывающийся список моделей телефонов зависел от раскрывающегося списка марок телефонов.
Другими словами, если я укажу, что у меня телефон Apple, в раскрывающемся списке моделей телефонов должны быть указаны только параметры Iphone 6, Iphone 7, Iphone 8 и т. Д.
До сих пор я не смог обнаружить, как сделать пользовательскую зависимую форму, поэтому я попытался начать с малого и сделать один обычный выпадающий список. К сожалению, я тоже не смог этого сделать.
Чтобы добавить обычный выпадающий список, я добавил следующее в мой models.py
from django.db import models
PHONES = (
('samsung','SAMSUNG'),
('iphone', 'IPHONE'),
('oneplus','ONEPLUS'),
('lg','LG'),
)
class Phones(models.Model):
phone = models.CharField(max_length=6, choices=PHONES, default='iphone')
И затем добавить следующее к forms.py
from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
from main.models import Phones
class NewUserForm(UserCreationForm):
email = forms.EmailField(required=True)
class Meta:
model = User, Phones
fields = ("username", "email", "phone", "password1", "password2")
def save(self, commit=True):
user = super(NewUserForm, self).save(commit=False)
user.email = self.cleaned_data["email"]
if commit:
user.save() #saves to db
return user
Буду признателен за любую помощь в реализации зависимого раскрывающегося списка с настраиваемыми полями в моей регистрационной форме. Я попытался просмотреть учебники по этой теме, но не нашел ничего написанного для начинающих и специально для пользовательских зависимых выпадающих меню.