2017-09-15 39 views
1

私はDjango 1.11を使用しています。それには、とcountry/models.pyのアプリを作成しました。Countryというモデルがあります。私はhttp://127.0.0.1:8000/adminを訪れた際Djangoでの適切な命名規則

class Country(models.Model): 
    name = models.CharField(max_length=100) 
    code = models.CharField(max_length=50) 
    pub_date = models.DateTimeField('date published') 

とは

from django.contrib import admin 
from country.models import Country 

# Register your models here. 
admin.site.register(Country) 

admin.pyでモデルを含め、それが admin template

countryのスペルが間違っているCountrysに複数形されているを示しています。

このような間違いを防ぐには、どのような命名規則が適していますか?

答えて

0

綴り間違いではありません。多くのレコードがあり、最後にモデル名の後にsが追加されていることを示すためにはdjango conventionです。

+0

でアプリ名を設定することができ、アプリの名前ですか? 'Countries'は複数形で' '多くのレコードになる' 'を表します –

+0

いいえ、djangoはモデル名のあとに最後の' s'を置くだけで多くのレコードを持つことを示します。それは 's'が英語の問題であるその言葉を複数形にしていない場合、何かのようなものを世話しません。 –

+0

'verbose'を使って、あなたが望むものに合うように変更することができますが、' django'はそれを自動的に処理しません。 –

1

パートICountrysをモデル名とすると、それを定義するために冗長記号を設定できます。

class Country(models.Model): 
    name = models.CharField(max_length=100) 
    code = models.CharField(max_length=50) 
    pub_date = models.DateTimeField('date published') 
    class Meta: 
     verbose_name = "country" 
     verbose_name_plural = "countries" 

PART IICOUNTRYはDjangoの11.1で、あなたはそれが `countries`すべきではないapps.py

# in yourapp/apps.py 
from django.apps import AppConfig 

class YourAppConfig(AppConfig): 
    name = 'yourapp' 
    verbose_name = 'Fancy Title'