Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有固定选项的多项选择。看不到选项(Django)_Python_Django_Model_Manytomanyfield_Multiple Choice - Fatal编程技术网

Python 有固定选项的多项选择。看不到选项(Django)

Python 有固定选项的多项选择。看不到选项(Django),python,django,model,manytomanyfield,multiple-choice,Python,Django,Model,Manytomanyfield,Multiple Choice,我对Django非常陌生,我正在尝试这样做,以便我可以为一个领域选择几个选项,但我似乎对此有问题 这里是我的网站模型的简化版本 class Zone(models.Model): zone = ( ('NE','Northeast'), ('SE','Southeast'), ('SW','Southwest'), ('MW','Midwest'), ('CN','Canada'), ) clas

我对Django非常陌生,我正在尝试这样做,以便我可以为一个领域选择几个选项,但我似乎对此有问题

这里是我的网站模型的简化版本

class Zone(models.Model): 
    zone = (
        ('NE','Northeast'),
        ('SE','Southeast'),
        ('SW','Southwest'),
        ('MW','Midwest'),
        ('CN','Canada'),
    )

class Site(models.Model):

    region = models.ManyToManyField(Zone)
    state = models.CharField(max_length = 30)
    ...


class SiteForm(ModelForm): 
    class Meta: 
        model = Site
现在,有比我在这里展示的更多的区域,这可能意味着一个站点可能同时有多个区域

简单查看功能:

def add_site(request): 
    if request.method == 'POST':
        form = SiteForm(request.POST)
        if form.is_valid():
            profile = form.save(commit=False) 
            profile.user = request.user 
            profile.save()
        else:
            form = SiteForm()

    return render(request, 'index.html', {'form': form,})

我的理解是,一旦表单出现在网页上,我应该看到一个框,其中包含我在Zone类中指定的选项,但该框是完全空的。我如何用西北、东南、西南等选项填充它?

这不是它的工作原理。查看django文档。这个例子很清楚,但对你来说,你也在尝试做一些非常奇怪的事情

我怀疑您试图为您的选择创建一个单独的模型—为此,您将使用a或a—为此,您只需将分区模型定义为实际模型;你拥有的根本不是Django模型


此外,“站点”是django提供的模型-您应该没问题,但是如果您同时使用django提供的auth,您可能会遇到一些难以诊断的问题。

这不是它的工作原理。查看django文档。这个例子很清楚,但对你来说,你也在尝试做一些非常奇怪的事情

我怀疑您试图为您的选择创建一个单独的模型—为此,您将使用a或a—为此,您只需将分区模型定义为实际模型;你拥有的根本不是Django模型


此外,“站点”是django提供的模型-您应该没问题,但如果同时使用django提供的auth,您可能会遇到一些难以诊断的问题。

您的
区域
模型似乎不完整:它没有字段!谢谢我得到了它!基本上,我需要在zone类中为zone名称创建一个字段,然后使用我想要的所有选项加载zone。您的
zone
模型似乎不完整:它没有字段!谢谢我得到了它!基本上,我需要在zone类中为zone名称创建一个字段,然后用我想要的所有选项加载zone。