我有一个模型,我想使用 choice= 选项,但深度为三层。
class Doctor(models.Model):
...
zipcode = models.CharField(max_length=10, choices=AREAS, null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)
在管理员的“邮政编码”下拉列表中,我希望层次结构为:
Bronx
--Kingsbridge
----10463
----10471
--Fordham
----10458
----10467
----10468
Brooklyn
--Borough Park
----11204
etc.
Run Code Online (Sandbox Code Playgroud)
然后,如果我选择邮政编码 10463,Doctor 对象将与布朗克斯区的 Kingsbridge 区域关联。我正在尝试各种不同的方法。我最接近的是使用这个:
AREAS = (
('Bronx', (('Kingsbridge', ('10463', '10463'),),)),
...
)
Run Code Online (Sandbox Code Playgroud)
不幸的是,这给了我这样的层次结构:
Bronx
--('10463', '10463')
Run Code Online (Sandbox Code Playgroud)
这很奇怪而且没有帮助。有人能看出我哪里出错了吗?这种层次结构可能吗?在应用程序中创建另一个名为 Areas 的表并使用多位字段会更明智吗?我想得越多,我就越觉得我必须使用 Manytomany 字段。提前致谢
我很长一段时间以来第一次使用咕噜声,我的预感是我错了.当我运行时npm install grunt --save-dev,我的npm_modules文件夹中装载了许多文件夹(准确地说是87).我的期望,以及我在观看教程时看到的是,应该添加一个名为grunt的文件夹.同样,当我尝试添加uglify插件(npm install grunt-contrib-uglify --save-dev)时,我会在node_modules中添加额外的31个文件夹.我记得刚刚获得一个带有插件名称的文件夹.我正在使用:
npm版本3.9.3
grunt版本1.0.1
OSX Yosemite 10.10.5
的package.json
{
"name": "myapp",
"version": "1.0.0",
"description": "the description",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "Me",
"license": "MIT",
"devDependencies": {
"grunt": "^1.0.1",
"grunt-contrib-uglify": "^1.0.1"
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏.谢谢.