python教程18课:python之django的模型和字段使用

模型和字段

自定义模型管理器

自己创建新的管理器:

class DepartmentManager(): # 自定义个新增部门的方法 def creat_dept(self, name, create_date): dept = Department() dept.name = name dept.create_date = create_date dept.save() # 自定义一个根据id查询部门的方法 def getDeptById(self, name): return Department.objects.all().filter(name__contains=name)

部门类:

class Department(models.Model): name = models.CharField(max_length=20) create_date = models.DateField(auto_now_add=True) # 配置自定义的模型管理器(在外部可以用过该属性operate_Dept进一步来调用creat_dept()和getDeptById()) operate_Dept = DepartmentManager()

使用:

#原生态方法一# dept = Department() # dept.name = '财务部' # dept.create_date = date(2018,9,26) # dept.save() #原生态方法二 # dept = Department(name='开发部', create_date=date(2018,9,25)) # dept.save() #调用默认管理器objects里面的create方法 # Department.objects.create(name='测试部', create_date=date(2018,9,25)) # 调用自定义管理器的creat_dept方法 # Department.operate_Dept.creat_dept(name='运营部', create_date=date(2018,9,25)) #调用自定义管理器的getDeptById方法 # depts = Department.operate_Dept.getDeptById('运') # print(depts)

Choices的使用

'''枚举 choices,数据库里面存放0和1,但是到前端的时候显示成对应的男和女。0_男, 1_女 取值使用get_Foo_display()取男或女,Foo表示字段名称。比如下面获取sex即为get_sex_display() ''' class Person(models.Model): sex_choice = ( ('0','男'), ('1','女') ) name = models.CharField(max_length=20) sex = models.CharField(max_length=1, choices=sex_choice)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181109A026OY00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券