模型的元数据问题

模型的元数据问题

老师,两个问题。

1、定义了一个student模型类,其中会写一些方法,比如

def get_name(self):

"""获取学生的姓"""

return self.name[0]

这个方法应该怎么用呢

2、proxy——代理模型

这个继承自父类的类,会在数据库中生成相应的表吗,什么场景下用到这个proxy——代理模型


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好:

1、每一个模型都是类,在类中定义的方法,直接让模型类的实例对象调用即可。和普通类的实例对象调用方法一样。

2、定义的继承模型不会在数据库中创建表,应用的场景,比如很多模型类有共同的字段,这时可以将共同的字段提取出来,然后其他模型继承该父类模型,减少代码的编写,提高代码的质量。

如果我解决了同学的问题,请采纳!学习愉快^_^。

  • xiaoyuan1 提问者 #1
    老师,第二个问题您说的应用场景,不应该是abstract抽象类的应用场景吗 class CommonUtils(models.Model): create_at = models.DateTimeField('创建时间', auto_now_add=True) updated_at = models.DateTimeField('最后修改时间', auto_now=True) class Meta: abstract = True 我想问一下proxy——代理模型的应用场景 class ProxyStudent(Student): class Meta: proxy = True # 要在学生类中添加方法,但是如果添加的多了,就放不下了,所以可以写在这里 def get_name(self): """获取学生的姓""" return self.name[0]
    2020-02-18 18:10:29
  • 好帮手乔木 回复 提问者 xiaoyuan1 #2
    同学你好: 代理模型使用很有限,不能新增字段,只能自定义一些方法。提高代码可读性和可维护性。 ProxyStudent是代理模型,那么我们就使用该模型调用这个代理模型中定义的方法即可。 ProxyStudent.get_name() 学习愉快^_^。
    2020-02-18 18:48:15
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

3.从网页搭建入门Python Web
  • 参与学习           人
  • 提交作业       218    份
  • 解答问题       3562    个

本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师