【发布时间】:2013-04-05 18:09:19
【问题描述】:
我对 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 类中指定的选项,但该框完全是空的。如何使用西北、东南、西南等选项填充它?
【问题讨论】:
-
您的
Zone模型似乎不完整:它没有字段! -
谢谢!我知道了!基本上我需要在 Zone 类中有一个区域名称字段,然后使用我想要的所有选项加载 Zone。
标签: python django model manytomanyfield multiple-choice