Django中的正确命名约定

时间:2017-09-15 17:25:13

标签: django django-models django-admin django-apps

我正在使用Django 1.11并且我已经创建了一个应用country并在country/models.py内部我有一个模型Country

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

并将模型包含在admin.py

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

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

当我访问http://127.0.0.1:8000/admin时,它会显示出来 admin template

country的拼写已复数形式为Countrys,这是错误的。

什么是防止此类错误的正确命名惯例?

2 个答案:

答案 0 :(得分:1)

第一部分Countrys是您的型号名称,您可以设置verbosename来定义它。

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"

第二部分COUNTRY是您的应用名称,在Django 11.1中,您可以在apps.py中设置应用名称

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

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

答案 1 :(得分:0)

这不是拼写错误,它是django convention来表明会有很多记录并显示它在模型名称后面最后添加s