Django admin 后台定制库存管理的中的入库管理
Django 的admin或xadmin定制后台管理十分方便,在此就不多说了,我今天想说的一个问题是,如何实现admin的不同表间不同字段的管理操作(描述不太清晰,不要在意)。(使用MySQL数据库)
我举个例子,如我做了个图书管理系统,涉及到库存的入库操作,但又不想在原有的库存上进行加减(原则上应该也不允许)。
(可能admin本身有解决方案,怪本人学艺不精,勿喷)
以下是我的解决方法:
首先列出我的图书表:
class Books(BaseModel):'''商品模型类'''books_type_choices = ((k, v) for k,v in BOOKS_TYPE.items())status_choices = ((k, v) for k,v in STATUS_CHOICE.items())type_id = models.SmallIntegerField(default=EDUCATION, choices=books_type_choices, verbose_name='种类')name = models.CharField(max_length=20, verbose_name='名称')desc = models.CharField(max_length=128, verbose_name='简介')price = models.DecimalField(max_digits=10, decimal_places=2, verbose_name='价格')unit = models.CharField(max_length=20, verbose_name='出版社')stock = models.IntegerField(default=1, verbose_name='库存')sales = models.IntegerField(default=0, verbose_name='销量')detail = HTMLField(verbose_name='详情')image = models.ImageField(upload_to='books', verbose_name='图片')status = models.SmallIntegerField(default=ONLINE, choices=status_choices, verbose_name='状态')objects = BooksManager()# admin显示书籍的名字def __str__(self):return self.nameclass Meta:db_table = 's_books'verbose_name = '书籍'verbose_name_plural = '书籍'
1.新定义定义一张表只用作入库操作,
class BookPurchase(BaseModel):book = models.ForeignKey('books.Books', verbose_name='订单商品')purchase = models.IntegerField(default=0, verbose_name='采购数量')def purchase_options(self):self.book += self.purchaseclass Meta:db_table = 's_books_purchase'verbose_name = '入库管理'verbose_name_plural = '入库管理'
2.在数据库对应操作表上插入触发器:
create trigger update_stock after insert
on s_books_purchase
for each row
begin
update s_books set stock=stock+new.purchase where id=new.book_id;
end
这样就实现了配合admin的入库管理操作,(现实开发可能不可取)
Django admin 后台定制库存管理的中的入库管理相关推荐
- Django admin后台管理页面的常用设置
Django admin后台管理页面的常用设置 选择列表选项choices # filename: models.pyfrom django.db import models# 例1 int类型:ST ...
- 第二十课 Django Admin后台管理
第二十课 Admin后台管理 1. admin创建用户 创建管理员账号: python manage.py createsuperuser# 按提示输入用户名.邮箱.密码 2. 注册模型 如果只是在a ...
- django admin后台管理插件django-suit入门
前言 用过django的同学大概都知道,admin后台那个丑到爆的界面: 虽然程序猿不太那么讲究审美,但是这么吃藕的一个界面,反正搁我我是忍不了.不过呢,还好django扩展能力还是挺强的,有牛人开发 ...
- django admin后台系统
Django中默认集成了后台数据管理页面,通过简单的配置就可以实现模型后台的Web控制台. 管理界面通常是给系统管理员使用的,用来完成数据的输入,删除,查询等工作. 使用以下models来示范admi ...
- DJANGO ADMIN后台设置
Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸索总结出比较实用的配置.若你有什么比较好的配置 ...
- Django Admin 后台管理系统
文章目录 Admin 后台管理系统 一,后台管理系统的重要性 二,了解Django后台管理功能 Admin 后台管理系统 Django 的后台管理系统是非常出色的,新建项目以后,Django 就为我们 ...
- django admin后台添加用户登陆失败、用户密码明文、修改后台显示内容等
django项目中,当我们创建了user模型类,并生成了超级管理员,之后我们进入到admin后台页面中,添加一个用户,再去login页面登陆时,会提示我们 用户名或密码错误. 那么问题来了,这是为什么 ...
- django admin后台列表页、修改/详情页图片预览功能
目录 一.admin后台列表页的图片预览功能 二.admin后台修改/详情页图片预览功能 1,添加html前端代码 2.在admin.py文件中添加以下代码: 1.列表页图片问题:在admin列表页中 ...
- java quartz管理,SpringBoot中使用Quartz管理定时任务的方法
定时任务在系统中用到的地方很多,例如每晚凌晨的数据备份,每小时获取第三方平台的 Token 信息等等,之前我们都是在项目中规定这个定时任务什么时候启动,到时间了便会自己启动,那么我们想要停止这个定时任 ...
最新文章
- spring和mybatis整合进行事务管理
- 分析数据时,一定要避开这5大误区!
- 由于启动用户实例的进程时出错,导致无法生成 SQL Server 的用户实例。该连接将关闭...
- el-input 输入框类型;只能输入数字的输入框;保留两位小数输入框;只能输入正整数和0的输入框;手机号正则校验;车牌号码正则校验
- 帮助中心 开源_如何不获得开源帮助
- 创建的maven子项目怎么访问接口404_【经验分享】新手学Java编程语言怎么入门?...
- 北京大学生物信息学 (4)序列数据库
- thinkPHP使用中遇到的问题交流==
- 支付宝怎么看银行卡号?支付宝查询银行卡号仅需3步
- DRILLNET 2.0------第二十四章 井涌模拟分析模型
- 数据分析SQL环比增长率、同比增长率
- 简谈计算机网络与网络编程
- CDN 的功能有哪些?
- 命令行cmd如何切换目录
- rockbox主题包安装_WaveCN.com - 站长手记 - 站长手记 - Rockbox Utility介绍及Rockbox快速安装简介...
- Java编辑工具——IDEA图标含义大全
- 学计算机去华农好还是广工好,广东工业大学,华南农业大学哪个间学校好
- 北京邮电大学计算机系统基础实验,第1章 计算机系统基础85666.ppt
- 仿天猫淘宝的ShopNC好商城原生Android 客户端源码项目
- QMediaPlayer视频没有画面显示,或播放卡顿问题解决