次のように定義されたモデルがあります。
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">
そこにあることがわかりましたが、何らかの理由で非表示になっていて、型番号として記述されています。
これは、アプリケーションの各モデルのすべての「名前」フィールドで実際に発生しています。フィールド名を「名前」以外に変更すると、正常に機能します。何が起こっている?