我有一个如此定义的模型:
class Country(models.Model):
""" A three taps country reference
"""
name = models.CharField(max_length=200)
code = models.CharField(max_length=10, unique=True)
class Meta:
app_label = 'crawler'
verbose_name_plural = 'Countries'
def __unicode__(self):
return " ".join([self.name, self.code])
在我的admin.py中:
admin.site.register(Country)
直接在django admin注册。当我拉出一个国家/地区的详细信息视图时,名称字段不会填写实际名称,但是是一个带有+1 -1切换的数字字段。
http://cl.ly/image/0r39093b3a3S
如果我尝试在不触及该字段的情况下保存更改,则表示无需更改。到底是怎么回事?此外,这是我检查表单元素时的代码:
<input class="hide input-mini suit-sortable"
id="id_name" maxlength="200" name="name"
type="number" value="United States">
所以我看到它存在,但由于某种原因被隐藏,并写为类型号。
这实际上发生在每个&#34;名称&#34;我的应用程序中每个模型上的字段。如果我将字段名称更改为&#34; name&#34;它工作正常。发生了什么事?
答案 0 :(得分:0)
默认情况下,表单需要所有字段。要指定字段不是必需的,请设置required=False
。
话虽如此,你无法在models.py
本身注册模型。在admin.py
。
models.py
from app_name.models import Country
from django.contrib import admin
admin.site.register(Country)