V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
wsglj
V2EX  ›  Python

请教 Django 用来做个小工厂内部 MRP/ERP 可还行?

  •  
  •   wsglj · 2019-10-30 13:58:59 +08:00 · 6884 次点击
    这是一个创建于 1611 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第一步的目标主要就是用软件实现工厂内部的业务管理,比如订单、采购、入库、出库、查库存这种典型的业务内容。
    最近一次 coding 都是有十年最少了,只用过少量 Java JSP 做做大学的作业。工作中使用数据库这种。一直听说 python 多 nb,就想来试试手。
    初步想法用 Web+Python+ DB(postgresql), 应该是没问题吧,方便手机、平板、电脑等使用。
    毕竟是 Python 新上手,水平有限,想讲究一点效率的话,是不是直接用框架比如 Django 比较好? 谢谢指教!
    50 条回复    2020-11-18 11:52:20 +08:00
    forrestshuang
        1
    forrestshuang  
       2019-10-30 14:02:12 +08:00
    完全可以 django 非常适合做内部系统
    scukmh
        2
    scukmh  
       2019-10-30 14:03:05 +08:00
    方便手机,平板使用的话,还得好好挑个前端的框架。
    676529483
        3
    676529483  
       2019-10-30 14:03:28 +08:00
    如果冲着 nb 去的,不好意思会失望的。追求快速开发、并发量小、上手容易的话,django 可以。
    wsglj
        4
    wsglj  
    OP
       2019-10-30 14:17:31 +08:00
    @forrestshuang 谢谢!
    wsglj
        5
    wsglj  
    OP
       2019-10-30 14:17:53 +08:00
    @scukmh 能请大佬推荐个前端的框架吗?
    wsglj
        6
    wsglj  
    OP
       2019-10-30 14:18:29 +08:00
    @676529483 先易后难吧,毕竟新手。nb 的方向能提一下吗?各种爬吗?
    wsglj
        7
    wsglj  
    OP
       2019-10-30 14:19:20 +08:00
    @forrestshuang 我能不能再厚脸皮问一句,有没有 Django 下面的开源 mrp/erp 项目可以拿来改改就用的?
    janxin
        8
    janxin  
       2019-10-30 14:20:28 +08:00
    可行,erp 有个就叫 django-erp 的
    raptor
        9
    raptor  
       2019-10-30 14:23:39 +08:00
    为什么不用 odoo (原 openerp )
    wsglj
        10
    wsglj  
    OP
       2019-10-30 14:39:55 +08:00
    @raptor 一穷二白的入门汉只想在解决业务需求的同时,顺便蹭个 python 和 Django 的热点。
    wsglj
        11
    wsglj  
    OP
       2019-10-30 14:40:16 +08:00
    @janxin 谢谢大佬,马上去看看
    janxin
        12
    janxin  
       2019-10-30 14:41:11 +08:00
    @wsglj 忘记 odoo 了,优先考虑这个,这个资料最多最全
    wsglj
        13
    wsglj  
    OP
       2019-10-30 14:42:27 +08:00
    @janxin 2017 年最后一次更新。。。。。我是不是太挑剔了?
    wsglj
        14
    wsglj  
    OP
       2019-10-30 14:42:51 +08:00
    @janxin 马来。。。。。
    wsglj
        15
    wsglj  
    OP
       2019-10-30 15:09:04 +08:00
    @raptor 谢谢大佬
    skymei
        16
    skymei  
       2019-10-30 15:50:13 +08:00
    django 肯定满足你的需求了,我个人不太喜欢这个框架,那个 model 很恶心,我宁愿用 pymysql 写原生 sql
    zjsxwc
        17
    zjsxwc  
       2019-10-30 15:57:11 +08:00   ❤️ 1
    需求无非就是把数据库表单编辑能够方便地人机交互处理,定义好数据库表结构就完事了,再加一点权限管理。

    用各个语言的 admin 框架呗,比如
    php 的 sonata admin https://sonata-project.org/bundles/admin/3-x/doc/index.html
    python 的 flask admin https://flask-admin.readthedocs.io/en/latest/
    saulshao
        18
    saulshao  
       2019-10-30 16:10:38 +08:00   ❤️ 1
    Django 完全可以满足要求,尤其是如果你懂业务的话,这东西可以解决很多问题。
    基本思路是放弃基础数据维护,全都用 Django 自带的 admin。
    而业务流程的处理则用前端的 vue 或者类似的框架。
    twor2
        19
    twor2  
       2019-10-30 16:23:13 +08:00
    除非有长久规划,不建议自己做
    这是在开倒*车
    vipcc
        20
    vipcc  
       2019-10-30 16:31:28 +08:00 via Android   ❤️ 1
    之前用 php 给人做过类似的方案,真的麻烦。
    最后发现还是老路子成熟的方案好。
    为什么呢?

    大表单,不是一点两点的快,企业级商用组件,可以快速无缝对接。

    报表生成,做传统企业级的,免不了这个。

    硬件对接,厂里各种设备需要链接。基本都是 C/C++/C#接口。

    后期维护,linux 维护人员费用不是一点两点啊。招人头皮发麻。windows 基本大家都会用,图形化的简单省事。


    建议前期工作准备好,不然很容易失败的,
    传统行业和互联网有差别,
    目前我们已经考虑换语言和框架重构了。
    以上仅供参考,希望对你有帮助。
    edwin2ex
        21
    edwin2ex  
       2019-10-30 17:27:44 +08:00
    @twor2 老哥,还有什么先进的车
    OSF2E
        22
    OSF2E  
       2019-10-30 17:28:42 +08:00
    难在 GUI 与第三方接口对接的问题上吧……这些东西不是市面上能够获取到的开源、通用方案能够覆盖到的
    JerryCha
        23
    JerryCha  
       2019-10-30 18:02:22 +08:00
    要谈省事,最省事的还是用 VS 写 ASP.NET MVC。模型定义好鼠标点一点前后端基本框架就出来了。
    fub2020
        24
    fub2020  
       2019-10-30 18:54:20 +08:00 via iPhone
    年初从 0 出发,也是没有任何 web 经验从 django 起步。
    前期 django admin 真的好用,根据业务建模,就能满足基本需求。
    但是系统复杂了以后,就需要考虑前后端分离,这个时候就应该切换到 Flask 了。
    用 python 实现前端真的有些费劲。
    zibber
        25
    zibber  
       2019-10-30 18:57:21 +08:00
    搞一个开源到自己改一改吧
    mesbbs
        26
    mesbbs  
       2019-10-30 19:24:41 +08:00
    买一个算了。
    l0wkey
        27
    l0wkey  
       2019-10-30 19:32:41 +08:00
    cooi
        28
    cooi  
       2019-10-31 08:22:04 +08:00
    不是有原来 python 写的 openerp 吗 这个最成熟了,已经很多中大型企业在用
    ytymf
        29
    ytymf  
       2019-10-31 09:42:02 +08:00
    @fub2020 这个怎么说? Django 自带 JsonResponse 可以很方便搭建接口啊。
    mclxly
        30
    mclxly  
       2019-10-31 10:04:20 +08:00
    关注一下
    raptor
        31
    raptor  
       2019-10-31 10:12:19 +08:00
    @wsglj odoo 就是 python 写的,只不过不是用 django
    RRRoger
        32
    RRRoger  
       2019-10-31 11:09:32 +08:00
    wsglj
        33
    wsglj  
    OP
       2019-11-09 09:54:12 +08:00
    @saulshao 谢谢老板,内心是想折腾一下的,所以就很想按照你的这种想法去做。但是又有说 odoo 好。先安装一个 odoo 看看吧。感觉从工作效率出发,也许这种轮子现成的更容易有输出。coding 更多是一种养生爱好的样子。纠结也是。。。。
    @twor2 有道理,有推荐的车?
    wsglj
        34
    wsglj  
    OP
       2019-11-09 09:54:44 +08:00
    @JerryCha 感觉 ms 家的东西有点累觉不爱了,折腾点新的
    wsglj
        35
    wsglj  
    OP
       2019-11-09 09:55:42 +08:00
    @fub2020 vue 框架有没有试过?
    wsglj
        36
    wsglj  
    OP
       2019-11-09 10:02:23 +08:00
    @vipcc 谢谢分享宝贵经验。中小型制造业,人力密集型,就是主要基于库存和工时的管理。 大表单目测不会太夸张,相关报表也是。硬件接口需求几乎看不到。后期维护是个大问题,连个 IT 都没有的工厂。其实目前更担心的是,由于生产品类的变化,数据结构定义和管理是个大问题。比如生产服装和汽车相关配件,数据原素太多不一样,说不定明年又变了新厂品。怎么统一数据结构?头大的说。
    wsglj
        37
    wsglj  
    OP
       2019-11-09 10:03:58 +08:00
    @all 谢谢大家的分享和指教,学习了不少。目前考虑先用 odoo 试试,不行再 django+vue 这种。但有个头大的问题先,由于生产品类的变化,数据结构定义和管理是个大问题。比如生产服装和汽车相关配件,数据原素太多不一样,说不定明年又变了新厂品。怎么统一数据结构?有哪种数据库能够灵活面对这种情况?头大的说。
    saulshao
        38
    saulshao  
       2019-11-09 17:59:53 +08:00
    首先我建议遵循 ERP 的数据结构,产品基本上就是 BOM,BOM 其实不关心你生产的是汽车还是服装。需要细分属性的时候就建表扩展就行了。其实我之前实践过用 K/V 的结构存储不同的属性,但是这么做的问题是有一些需要经常查询的字段,可能必须拿出去单独建表,不然无法保证性能。
    其实,首先需要评估的是你做这个东西干啥,然后再考虑 IT 实现。
    wsglj
        39
    wsglj  
    OP
       2019-11-09 23:11:49 +08:00
    @saulshao 谢谢指点,bom 是个好办法,要再学习一下的。
    magiclx
        40
    magiclx  
       2019-12-21 01:35:45 +08:00   ❤️ 1
    主流技术都是完全可行的,但说实话,不建议多年不编码的人自己做。
    把时间耽误在技术坑上,对比一下你的时薪,肯定不值。
    一个人从头开始完成一个 ERP,没有一年,肯定没法用。
    建议买。
    wsglj
        41
    wsglj  
    OP
       2020-01-13 21:12:58 +08:00
    @magiclx 有啥不错的值得买吗?
    seven777
        42
    seven777  
       2020-06-13 09:47:39 +08:00
    @twor2 #19
    请教下,您为什么这么认为?
    seven777
        43
    seven777  
       2020-06-13 09:49:33 +08:00
    @raptor ODOO 太重了,而且与国内的“重财务,重发票”的现状差距太大,需要深度定制。
    单定制的学习成本太大。
    我个人的感觉。
    国内有好多以 ODOO 定制为主页的公司,但好像基本都没做起来。
    twor2
        44
    twor2  
       2020-06-14 20:58:51 +08:00
    @seven777 这个话题过去好久了,我都忘了当时是怎么想的。
    大概意思是尽量少开发就少开发,选用现成的服务商,或者现成的业务框架
    少做事,多成事儿
    wsglj
        45
    wsglj  
    OP
       2020-11-13 13:49:03 +08:00
    @twor2
    @seven777 确实如此,越完整成熟的系统,要灵活定制的成本就越高。比如内、外表这种,业务流程和社会环境,在开发里也是一个重要的成本考量。 只能自己动手做得丑一点,也好过从定制里面拼老命去改了
    wsglj
        46
    wsglj  
    OP
       2020-11-13 13:50:35 +08:00
    @fub2020 淡淡一疼表示同意,正在经历这个。。。。
    wsglj
        47
    wsglj  
    OP
       2020-11-13 13:51:51 +08:00
    @saulshao 正在这条路上走着,老铁厉害了。 有啥前端框架推荐吗?
    saulshao
        48
    saulshao  
       2020-11-13 17:40:58 +08:00
    前端直接 Vue 就行了,如果你考虑 django,理论上基础数据配置的界面就直接用 django 的 admin 就行了。
    需要做的事情就是配置数据对象和相关的字段就行。先把最小的基础数据配置建起来,拿给用户去用。
    然后具体的业务操作用 vue 。
    首先需要准备一个清单,列出来你想要做什么业务块,选择优先级最高,工作量最小的一个先做出来。然后再逐步扩展,想太多没用。
    wsglj
        49
    wsglj  
    OP
       2020-11-18 10:35:43 +08:00
    @saulshao 谢谢大佬! 非常有启示。 再请教一下,有啥不错的平台可以找到程序员接活的?
    saulshao
        50
    saulshao  
       2020-11-18 11:52:20 +08:00
    你如果有预算的话,电鸭可以试试看。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   980 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 20:10 · PVG 04:10 · LAX 13:10 · JFK 16:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.