Django中的自定义从属下拉列表

时间:2019-04-03 04:23:59

标签: python django django-forms

我正在尝试在我的注册页面中实现两个带有自定义字段的下拉菜单,这些字段会提示用户选择手机品牌和手机的特定型号。

我希望手机型号下拉列表与手机品牌下拉列表相关。

换句话说,如果我选择使用苹果手机,那么手机型号下拉列表应只为我提供以下选项: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

在我的注册表中使用自定义字段实现依赖下拉列表的任何帮助将不胜感激。我曾尝试查看有关此主题的教程,但没有找到适合初学者的内容,也没有专门针对自定义依赖下拉列表的内容。

0 个答案:

没有答案