python-3.x - Django将模型类方法移动到另一个文件
问题描述
我有模特
Order(models.Model):
name = models.Charfield()
@classmethod
do_something(cls):
print('do soemthing')
我想做的是将do_something
方法从我的模型移动到另一个文件。我想这样做是因为我在这个模型中有几个其他的大方法并且想要构造代码,不喜欢这个文件的长度。它变得越来越大 > 700 行代码。
所以我想将我的方法移动到另一个文件并导入它,所以它仍然可以像modelmethod一样使用
像这样:
Order.do_something()
有任何想法吗?
解决方案
使用继承——(维基)
# some_package/some_module.py
class MyFooKlass:
@classmethod
def do_something(cls):
# do something
return 'foo'
# my_app/models.py
from some_package.some_module import MyFooKlass
class Order(models.Model, MyFooKlass):
name = models.CharField()
推荐阅读
- linux - 连接到主机 vm ip 端口 22:连接超时
- python - 为什么当我使用 lower() 和不使用 lower() 时会得到不同的结果?
- javascript - 规范是否要求设置节点的 innerText/textContent 自动转义 HTML 实体?
- javascript - 在对象上执行功能,然后在 Ramda 中操作对象
- c# - 如何在 c# 中反序列化时忽略 JSON 字符串中的特定字段?
- azure - 如何强制在 Azure 中的所有新 VM 上运行 powershell 脚本扩展?
- assembly - clflush 是否刷新 L1i?
- java - 您好,我想使用蓝牙 iBeacon 进行检测,但效果不佳。我该如何解决?
- node.js - 为什么我的 Heroku API 应用程序不返回 json 数据?
- html - 在没有 flex 的情况下在一行中对齐 Div,因为它会弄乱高度(Bootstrap)