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 后台定制库存管理的中的入库管理相关推荐

  1. Django admin后台管理页面的常用设置

    Django admin后台管理页面的常用设置 选择列表选项choices # filename: models.pyfrom django.db import models# 例1 int类型:ST ...

  2. 第二十课 Django Admin后台管理

    第二十课 Admin后台管理 1. admin创建用户 创建管理员账号: python manage.py createsuperuser# 按提示输入用户名.邮箱.密码 2. 注册模型 如果只是在a ...

  3. django admin后台管理插件django-suit入门

    前言 用过django的同学大概都知道,admin后台那个丑到爆的界面: 虽然程序猿不太那么讲究审美,但是这么吃藕的一个界面,反正搁我我是忍不了.不过呢,还好django扩展能力还是挺强的,有牛人开发 ...

  4. django admin后台系统

    Django中默认集成了后台数据管理页面,通过简单的配置就可以实现模型后台的Web控制台. 管理界面通常是给系统管理员使用的,用来完成数据的输入,删除,查询等工作. 使用以下models来示范admi ...

  5. DJANGO ADMIN后台设置

    Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据.后台管理可以在各个app的admin.py文件中进行控制.以下是我最近摸索总结出比较实用的配置.若你有什么比较好的配置 ...

  6. Django Admin 后台管理系统

    文章目录 Admin 后台管理系统 一,后台管理系统的重要性 二,了解Django后台管理功能 Admin 后台管理系统 Django 的后台管理系统是非常出色的,新建项目以后,Django 就为我们 ...

  7. django admin后台添加用户登陆失败、用户密码明文、修改后台显示内容等

    django项目中,当我们创建了user模型类,并生成了超级管理员,之后我们进入到admin后台页面中,添加一个用户,再去login页面登陆时,会提示我们 用户名或密码错误. 那么问题来了,这是为什么 ...

  8. django admin后台列表页、修改/详情页图片预览功能

    目录 一.admin后台列表页的图片预览功能 二.admin后台修改/详情页图片预览功能 1,添加html前端代码 2.在admin.py文件中添加以下代码: 1.列表页图片问题:在admin列表页中 ...

  9. java quartz管理,SpringBoot中使用Quartz管理定时任务的方法

    定时任务在系统中用到的地方很多,例如每晚凌晨的数据备份,每小时获取第三方平台的 Token 信息等等,之前我们都是在项目中规定这个定时任务什么时候启动,到时间了便会自己启动,那么我们想要停止这个定时任 ...

最新文章

  1. spring和mybatis整合进行事务管理
  2. 分析数据时,一定要避开这5大误区!
  3. 由于启动用户实例的进程时出错,导致无法生成 SQL Server 的用户实例。该连接将关闭...
  4. el-input 输入框类型;只能输入数字的输入框;保留两位小数输入框;只能输入正整数和0的输入框;手机号正则校验;车牌号码正则校验
  5. 帮助中心 开源_如何不获得开源帮助
  6. 创建的maven子项目怎么访问接口404_【经验分享】新手学Java编程语言怎么入门?...
  7. 北京大学生物信息学 (4)序列数据库
  8. thinkPHP使用中遇到的问题交流==
  9. 支付宝怎么看银行卡号?支付宝查询银行卡号仅需3步
  10. DRILLNET 2.0------第二十四章 井涌模拟分析模型
  11. 数据分析SQL环比增长率、同比增长率
  12. 简谈计算机网络与网络编程
  13. CDN 的功能有哪些?
  14. 命令行cmd如何切换目录
  15. rockbox主题包安装_WaveCN.com - 站长手记 - 站长手记 - Rockbox Utility介绍及Rockbox快速安装简介...
  16. Java编辑工具——IDEA图标含义大全
  17. 学计算机去华农好还是广工好,广东工业大学,华南农业大学哪个间学校好
  18. 北京邮电大学计算机系统基础实验,第1章 计算机系统基础85666.ppt
  19. 仿天猫淘宝的ShopNC好商城原生Android 客户端源码项目
  20. QMediaPlayer视频没有画面显示,或播放卡顿问题解决

热门文章

  1. KEPServerEX如何与艾默生PAC3i以太网通讯?
  2. 快速实现WIFI TCP通信详解
  3. 移动设备管理(MDM)与OMA OTA DM协议向导(四)——GSM 系统
  4. 答“月薪4000元在苏州的日子”
  5. 摩拜单车发免费月卡,会成中小玩家的噩梦吗?
  6. Java实现 LeetCode 66 加一
  7. 【框架学习】XML四种解析方案
  8. c语言 拷入pdf,怎么样才能把PDF文档从电脑拷到U盘
  9. 为什么在人工智能火爆的现在,我们还在做数据分析
  10. 关于mysql的密码