首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在通过Django Admin添加新产品时为MySQL生成随机的product_id int

在通过Django Admin添加新产品时为MySQL生成随机的product_id int,可以按照以下步骤进行:

  1. 创建一个Django Model来表示产品,其中包括一个字段来存储product_id。在模型类中使用IntegerField作为字段类型,指定它为一个整数字段。
代码语言:txt
复制
from django.db import models

class Product(models.Model):
    product_id = models.IntegerField(unique=True)
    # 其他字段...
  1. 在Django Admin中注册Product模型,并自定义一个ModelAdmin类来处理product_id的生成逻辑。
代码语言:txt
复制
from django.contrib import admin
from .models import Product
import random

class ProductAdmin(admin.ModelAdmin):
    def save_model(self, request, obj, form, change):
        if not obj.product_id:
            # 生成一个随机的product_id
            obj.product_id = random.randint(1000, 9999)
        super().save_model(request, obj, form, change)

admin.site.register(Product, ProductAdmin)

在这个示例中,我们使用random模块的randint函数生成一个4位数的随机整数作为product_id。你可以根据实际需求自定义生成规则。

  1. 在MySQL数据库中创建相应的表结构,可以使用Django的迁移工具执行数据库迁移操作。
代码语言:txt
复制
python manage.py makemigrations
python manage.py migrate
  1. 现在,当你在Django Admin中添加新产品时,如果product_id字段为空,它将在保存前生成一个随机的product_id。

这样,你就可以通过Django Admin添加新产品时为MySQL生成随机的product_id int了。

关于Django Admin和MySQL的更多信息,可以参考腾讯云提供的相关文档和产品:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

新闻推荐实战(一):MySQL基础

首先通过sudo mysql进入MySQL,然后在MySQL下将密码验证方式设置mysql_native_password,命令如下: ALTER USER 'root'@'localhost' IDENTIFIED...INT, regist_date DATE, PRIMARY KEY (product_id) ); 在第二章中,我们介绍过不同数据类型: CHAR定长字符,这里CHAR旁边括号里数字表示该字段最长多少字符...简单来理解: 例如做操,老师将不同身高同学进行分组,相同身高同学会被分到同一组,分组后我们又统计了每个小组学生数。 将这里同学可以理解表中一行数据,身高理解某一字段。...即,若GROUP BY选中purchase_price字段进行分组,则在SELECT语句中只能选中purchase_price字段,其它字段product_id等均不行。...6.4 聚合结果指定条件 前面提到了WHERE语句中不能使用聚合函数,但是实际操作需要通过聚合函数来进行过滤怎么办呢?这就要用到HAVING语句了。

2.1K10

Django(1)初识Django「建议收藏」

前言 Django是一个开放源代码Web应用框架,由Python写成,最初用于管理劳伦斯出版集团旗下一些以新闻内容为主网站,即CMS(内容管理系统)软件,于2005年7月在BSD许可证下发布,这套框架是以比利吉普赛爵士吉他手...模型:数据存取层,处理与数据相关所有事物,例如如何存取、如何验证有效性、包含哪些行为以及数据之间关系等。 模板:表现层,处理与表现相关决定,例如如何在页面或其他类型文档中进行显示。...Django基于MTV设计十分优美,其具有以下特点: 对象映射关系(Object Relational Mapping, ORM):通过定义映射类来构建数据模型,将模型与关系数据库连接起来,使用ORM...系统:完善缓存系统,可支持多种缓存方式 Auth认证系统:提供用户认证、权限设置和用户组功能,功能扩展性强 国际化:内置国际化系统,方便开发出多种语言网站 Admin后台系统:内置Admin后台管理系统...功能导入由模块Django.urls实现,from Django.urls import include,path,re_path Admin后台系统:支持主流移动设备并新增属性ModelAdmin.autocomplete_fields

2.8K20
  • Python:Django框架

    特别说明:django2.1之前使用是url(),它使用是正则,如果你仍然想使用正则表达式在你route中,你可以使用re_path(),它用法也path基本完全相同,只是在 配置route,...它作用是结合模板和上下文,并返回渲染后HttpResponse对象。通俗讲就是把context内容,加载进模板,并通过浏览器呈现。...(UserInfo,StudentsAdmin) 生成迁移文件并映射,Django会根据指定数据库自动生成sql语句 python manage.py makemigrations python manage.py...9 pid 把占用进程干掉,再次查看是发现还在占用,于是发现是*本地MySQL服务* 开着,就通过: service mysqld stop(5.0版本是mysqld) service mysql...', 'django.contrib.staticfiles', ... ] 修改后台名称 在urls.py或者admin.py 里面添加 from django.contrib

    4.4K40

    Pytest测试框架一键动态切换测试环境实现思路及方案

    而动态切换测试环境则可以自动根据我们传入命令行参数和预制好读取配置策略,自动识别、解析并返回对应数据。 测试框架赋能。...,自动读取是测试环境配置及测试数据。...库,则可以命名为http_requests.py;通过文件名称,大概率就能知道这个文件作用,比如通过parse_excel命名直接就能知道是解析excel文件; main:框架主入口,存放用来批量执行用例文件...(parser): """ 添加命令行参数 parser.addoption固定写法 default 设置一个默认值,此处设置默认值test choices...'''用户登录''' headers = {"product_id": str(self.product_id)} params = {"a": int(username

    1.4K30

    模仿天猫实战【SSM版】——后台开发

    ” 后缀,访问后台则为:localhost/admin (默认为分类管理页) 管理路径统一admin/listXxxxx,分类管理路径admin/listCategory,用户管理路径:...admin/listUser,诸如此类 编辑路径统一admin/editXxxxx,编辑分类路径admin/editCategory,产品编辑页admin/editProduct,诸如此类...删除路径统一admin/deleteXxxxx 更新路径统一admin/updateXxxxx 关于页面路径一些规定: 前端页面统一在【WEB-INF/views】下,后端页面统一在【WEB-INF.../views/admin】下 分类管理 正式开始编写我们代码,以 Category 例。...另一个问题是添加属性值: 添加属性值必须是当前 Category 下有的属性值,所以我们可以在 Controller 上自动注入一个 PropertyService 通过 category_id 查询到当前分类下所有的

    2.1K60

    Django 3.1 官网学习路线

    不用担心,不必每次 Django 生成一个都读取它们,但是如果您想手动调整 Django 更改方式,它们是可人工编辑。...上面的例子是 PostgreSQL 生成。 表名是通过结合应用程序名称(投票)和模型小写名称——问题和选择——自动生成。(您可以重写此行为。) 主键(id)会自动添加。...它是你使用数据库量身定制,所以数据库特定字段类型, auto_increment (MySQL),串行(PostgreSQL),或整数主键 autoincrement (SQLite)会自动你处理... 第五部分:自定义管理表单 通过将问题模型注册 admin.site.register(Question),Django 能够构造一个默认表单表示。...通常,您需要定制管理表单外观和工作方式。可以通过在注册对象告诉 Django 所需选项来实现。 通过重新排列编辑表单中字段来了解其工作原理。

    8.2K10

    Pycharm vscode create Django project

    (venv) D:\PycharmProjects\djangoTutorial>django-admin startproject djpj .图片图片※manage.py位置上决定了执行命令,是否需要进入到对应目录下...利用追加数据库,指定【db.sqlite3】OK接续,无需指定用户名密码,直接【接续】即可图片图片migrate生成标准表图片补充:③-2 pycharm> database windows:_Professional_feature...③-3 也可通过执行命令来看生成表【python manage.py dbshell 】   ※直接执行会报错【You appear not to have the 'sqlite3' program...,生成表model定义参考图片查看生成移行文件路径:master>migrations>0001_xxxxx.py# Generated by Django 4.1 on 2022-08-07 13:...= 'django.db.models.AutoField' # 若用postgre,数据类型serial图片8,启动服务(venv) D:\PycharmProjects\djangoTutorial

    59700

    基于Spring Cloud NetflixTCC柔性事务和EDA事件驱动示例

    Solar Spring Cloud开发者提供了快速构建分布式系统中一些常见工具,分布式配置中心,服务发现与注册中心,智能路由,服务熔断及降级,消息总线,分布式追踪解决方案等。...,随机异常因子等。...我在服务order,product,account和tcc中所有Controller上都添加了以上两个注解,当远程配置更新时候,可以手工刷新/refresh或通过webhook等方法自动刷新本地配置...下图是对order服务请求进行追踪情况。 业务服务 首次启动通过Flyway自动初始化数据库。...即生成预订单,为了更好地测试TCC功能,在下单通过Feign向服务account与product发起预留资源请求,并且记录入库。 确认订单.

    68340

    基于Spring Cloud NetflixTCC柔性事务和EDA事件驱动示例

    Solar Spring Cloud开发者提供了快速构建分布式系统中一些常见工具,分布式配置中心,服务发现与注册中心,智能路由,服务熔断及降级,消息总线,分布式追踪解决方案等。...,随机异常因子等。...我在服务order,product,account和tcc中所有Controller上都添加了以上两个注解,当远程配置更新时候,可以手工刷新/refresh或通过webhook等方法自动刷新本地配置...下图是对order服务请求进行追踪情况。 ? 业务服务 首次启动通过Flyway自动初始化数据库。...即生成预订单,为了更好地测试TCC功能,在下单通过Feign向服务account与product发起预留资源请求,并且记录入库。 确认订单.

    73820

    WEB框架之---Django初级篇

    进行安装(Python3使用pip3)推荐使用此版本     安装完成后找到django-admin.exe所在路径,将其添加到环境变量Path中,以便于今后在任何位置运行命令。...DATABASES项进行修改,Django支持多种数据库,上述mysql配置方式,详情请参考官方文档     另外,Django默认连接mysql模块MysqlDB,而python3中还没有此模块...url(r'^index/(\d*)', views.index, name='h2'), 设置名称之后,可以在不同地方调用,: 模板中使用生成URL     {% url 'h2' 2012 %}...五、admin     django amdin是django提供一个后台管理页面,改管理页面提供完善html和css,使得你在通过Model创建完数据库表之后,就可以对数据进行增删改查,而使用django...(models.UserType)     另外,还可通过Bootstrap给后台管理页面添加样式,让页面好看起来

    1.2K20

    django创建表单以及表单数据类型和属性

    再选择其中g对象,再进行add添加|删除|查询girlid 添加(add) models.Boy1.objects.filter(bname='男1').first().g.add(1,2,3,4,5,2...:用于指定Ipv4或Ipv6, 'both',"ipv4","ipv6" unpack_ipv4: 如果指定为True,则输入::ffff:192.0.2.1候,可解析192.0.2.1,开启刺功能...,Django Admin以及ModelForm中提供验证支持 字母、数字、下划线、连接符(减号) CommaSeparatedIntegerField(CharField):字符串类型,格式必须逗号分割数字...UUIDField(Field):字符串类型,Django Admin以及ModelForm中提供对UUID格式验证 FilePathField(Field):字符串,Django Admin以及ModelForm...中是否允许用户输入空 editable:Admin中是否可以编辑 help_text:Admin中该字段提示信息 choices:Admin中显示选择框内容,用不变动数据放在内存中从而避免跨表操作

    78630
    领券