Django模型(一)
django项目创建成功后,需要更改mysql数据库,语言,时间等参数y一些其他问题。
一:修改mysql数据库
# 在项目中的setting中更改这部分的代码
DATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test2',
'USER': 'root',
'PASSWORD': '123456',
'HOST': 'localhost',
'PORT': 3306,
}
}
二,修改时间和语言
#这里表示的是中文为主
LANGUAGE_CODE = 'zh-hans'
# 表示的是以上海标准时间为准
TIME_ZONE = 'Asia/Shanghai'
数据库列名和表名字的问题
# 后面这个属性表示的是数据库中的列名称,一般来说如果后面不谢db_column的话,那么在数据库中的列名就为person_age这个名字了
person_age = models.DateField(db_column='age')
#另外一点在默认条件下,数据中的表名是 <app_name>_<model_name>两者组合起来的名字,当然我们可以修改的表的名字,例如。
class Person(models.Model):
person_age = models.CharFiled(max_length)
age = models.IntegerField(default)
class Meta():
db_table = "mytable"
#也就是来说吗,在这里我们修改了mysql数据中的表名,为mytable
# 在介绍一个元选项,当获取对象列表的时候,我们如果设置了ordering的话,那么在得到结果的时候,数据汇根据我们设置的进行排列,如果添加了横线,那么数据就会倒序的呈现给我们。
class Meta():
ordering = ['age']
# ordering = ['-age']
#如果创建表的时候添加这个排序,会增加的mysql数据的开销
二,自定义管理器对象
1,首先继承model.Manager这个模型管理器类
2,初始化化管理器
#相当于BookInfo有两个管理器
books1 = models.Manager() # 默认的模型管理器
books2 = BookInfoManager() #自定义的管理器
3,效果
还没有评论,来说两句吧...