This commit is contained in:
doudou201703
2026-08-02 14:07:04 +08:00
commit 046fac6dc1
339 changed files with 19435 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
.idea
+76
View File
@@ -0,0 +1,76 @@
你提供的这段内容非常关键,它展示了微信支付API要求的 `multipart/form-data` 请求体的**原始格式**。
你看到的 `--boundary`、`Content-Disposition` 和空行,正是 HTTP 协议中 `multipart/form-data` 的标准结构。
好消息是,**你完全不需要手动去拼接这些字符串**(比如手动加 `\r\n` 或 `--boundary`)。Python 的 `requests`
库可以自动帮你完成这些繁琐的工作,只要你的参数格式正确。
针对你提供的这段结构,核心在于如何处理 `meta` 字段。在 `requests` 的 `files` 参数中,`meta` 被视为一个**内容为 JSON
字符串的“虚拟文件”**。
以下是完全对应你提供的 Body 结构的 Python 代码实现:
### 🎯 核心代码实现
```python
import requests
import json
url = "https://api.mch.weixin.qq.com/v3/..." # 你的接口地址
# 1. 准备 meta 的数据(字典)
meta_data = {
"filename": "filea.jpg",
"sha256": "hjkahkjsjkfsjk78687dhjahdajhk"
}
# 2. 准备文件二进制数据
# 对应你描述中的 "pic1 //媒体图片的二进制内容"
with open("filea.jpg", "rb") as f:
file_binary = f.read()
# 3. 构造 files 参数
# 这里的关键是:meta 也要当作一个“文件”来处理,但它的“内容”是 JSON 字符串
files = {
# 对应 Body 中的第一部分:name="meta"
# 格式:(文件名, 内容, 内容类型)
# 注意:meta 没有实际文件名,所以第一个参数填 None
'meta': (None, json.dumps(meta_data), 'application/json'),
# 对应 Body 中的第二部分:name="file"; filename="filea.jpg"
'file': ('filea.jpg', file_binary, 'image/jpeg')
}
# 4. 发送请求
# 注意:不要设置 Content-Type 头,requests 会自动生成包含 boundary 的正确头
response = requests.post(url, files=files)
print(response.text)
```
### 🔍 代码与你提供的 Body 的对应关系
为了让你更放心,我把 `requests` 库自动生成的请求体和你手写的结构做一个对比:
| 你的手写结构 (Body) | Python `requests` 的处理逻辑 |
|:------------------------------------|:----------------------------------------------------|
| `--boundary` | **自动生成**:库会随机生成一个 boundary 字符串。 |
| `name="meta"` | **`'meta': ...`**:字典的键对应 `name`。 |
| `Content-Type: application/json` | **`'application/json'`**:元组的第三个参数指定了内容类型。 |
| `{ "filename": ... }` | **`json.dumps(...)`**:这是元组的第二个参数(内容),必须是字符串。 |
| `name="file"; filename="filea.jpg"` | **`'file': ('filea.jpg', ...)`**:元组的第一个参数指定了上传的文件名。 |
| `pic1 (二进制内容)` | **`file_binary`**:元组的第二个参数,即读取到的二进制数据。 |
| `--boundary--` | **自动添加**:请求结束时,库会自动加上结束标记。 |
### ⚠️ 常见错误提醒
1. **不要手动设置 `Content-Type`**:
如果你手动写 `headers={'Content-Type': 'multipart/form-data'}`,你会丢失 `boundary=...`
这一关键参数,导致微信服务器无法解析,报错“参数格式错误”。让 `requests` 自己处理这个头。
2. **`meta` 必须是字符串**:
千万不要把 `meta` 放在 `data` 参数里(如 `data={'meta': ...}`),也不要直接传字典。必须放在 `files` 里,并且内容要用
`json.dumps()` 转成字符串。
3. **文件名后缀**:
微信支付对图片格式有要求(JPG, BMP, PNG),确保你的 `filename` 后缀和实际文件内容一致。
+12
View File
@@ -0,0 +1,12 @@
import os
import django
from sixGuoDjango.settings import 项目名称
os.environ.setdefault(key="DJANGO_SETTINGS_MODULE", value=f"{项目名称}.settings")
django.setup()
if __name__ == "__main__":
# 这里写你的主程序代码
pass
View File
+3
View File
@@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.
+5
View File
@@ -0,0 +1,5 @@
from django.apps import AppConfig
class DjangoAppConfig(AppConfig):
name = "django_app"
+360
View File
@@ -0,0 +1,360 @@
# Generated by Django 6.0.2 on 2026-05-02 23:36
import django.db.models.deletion
import uuid6
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='goods商品',
fields=[
('id_主键_goods商品', models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False)),
('id_str', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128)),
('goods商品数据', models.JSONField()),
('goods商品类型', models.CharField(choices=[('幸运拼团', '幸运拼团'), ('商城商品', '商城商品')], default='商城商品', max_length=128)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
],
options={
'db_table': 'goods商品',
'ordering': ['dateAndTime', 'updateTime'],
},
),
migrations.CreateModel(
name='lucky拼团',
fields=[
('idKey', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False)),
('lucky拼团详细', models.JSONField(default=list)),
('lucky开团状态', models.CharField(choices=[('未开团', '未开团'), ('已开团', '已开团')], default='未开团', max_length=128)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
],
options={
'db_table': 'lucky拼团',
'ordering': ['dateAndTime', 'updateTime'],
},
),
migrations.CreateModel(
name='map地图IP转地址',
fields=[
('id_map', models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False)),
('id_str', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128)),
('map用户unionid', models.CharField(max_length=128)),
('map用户openid', models.CharField(max_length=128)),
('map解析结果', models.JSONField()),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
],
options={
'db_table': 'map地图IP转地址',
'ordering': ['-id_map'],
},
),
migrations.CreateModel(
name='miniSub订阅消息模板',
fields=[
('idKey', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False)),
('sub订阅用户ID', models.CharField(max_length=128)),
('sub订阅次数', models.IntegerField(default=0)),
('sub订阅模板ID', models.CharField(max_length=128)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
],
options={
'db_table': 'miniSub订阅消息模板',
'ordering': ['dateAndTime', 'updateTime'],
},
),
migrations.CreateModel(
name='share分享者积分',
fields=[
('id_主键_hare分享者积分', models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False)),
('id_str', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128)),
('share分享者unionid', models.CharField(max_length=128)),
('share分享者openid', models.CharField(blank=True, max_length=128, null=True)),
('share分享类型', models.CharField(blank=True, max_length=128, null=True)),
('share分享昵称', models.CharField(blank=True, max_length=128, null=True)),
('share分享积分值', models.IntegerField(default=0)),
('share点击者unionid', models.CharField(blank=True, max_length=128, null=True)),
('share点击者openid', models.CharField(blank=True, max_length=128, null=True)),
('share点击者昵称', models.CharField(max_length=128)),
('share日期', models.DateField(blank=True, null=True)),
('share日期时间', models.DateTimeField(blank=True, null=True)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
],
options={
'db_table': 'share分享者积分',
'ordering': ['-id_主键_hare分享者积分'],
},
),
migrations.CreateModel(
name='WechatTransferOrder',
fields=[
('id_主键_转账', models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False)),
('id_str', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128)),
('out_bill_no', models.CharField(max_length=120)),
('transfer_bill_no', models.CharField(blank=True, db_comment='微信转账单号', max_length=64, null=True)),
('state', models.CharField(choices=[('ACCEPTED', '已受理 (可原单重试)'), ('PROCESSING', '资金锁定中'), ('WAIT_USER_CONFIRM', '待用户确认'), ('TRANSFERING', '转账中'), ('CANCELING', '撤销中'), ('SUCCESS', '转账成功'), ('FAIL', '转账失败'), ('CANCELLED', '已撤销')], max_length=32)),
('transfer_amount', models.IntegerField(db_comment='转账金额(分)')),
('openid', models.CharField(blank=True, db_comment='收款用户OpenID', max_length=64, null=True)),
('mch_id', models.CharField(blank=True, db_comment='商户号', max_length=32, null=True)),
('fail_reason', models.CharField(blank=True, db_comment='失败原因代码', max_length=128, null=True)),
('fail_message', models.TextField(blank=True, db_comment='失败详细描述', null=True)),
('package_info', models.TextField(blank=True, db_comment='加密包信息', null=True)),
('wx_create_time', models.DateTimeField(blank=True, db_comment='微信单据创建时间', null=True)),
('wx_update_time', models.DateTimeField(blank=True, db_comment='微信单据更新时间', null=True)),
('created_at', models.DateTimeField(auto_now_add=True, db_comment='本地创建时间')),
('updated_at', models.DateTimeField(auto_now=True, db_comment='本地最后更新时间')),
],
options={
'db_table': 'WechatTransferOrder',
},
),
migrations.CreateModel(
name='wecom企微用户',
fields=[
('idKeyWecom企微用户', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False)),
('wecom企微ID', models.CharField(max_length=128)),
('wecom企微状态State', models.CharField(default='', max_length=128, null=True)),
('wecom对好友打的标签', models.JSONField(blank=True, default=list, null=True)),
('wecom对好友的备注名称', models.CharField(max_length=128)),
('wecom对好友的添加时间', models.BigIntegerField(blank=True, null=True)),
('wecom对好友的备注信息', models.CharField(default='', max_length=128)),
('wecom企微对好友添加的手机号码', models.JSONField(blank=True, default=list, null=True)),
('wecom企微好友添加方式', models.CharField(max_length=128)),
('wecom好友UNIONID', models.CharField(max_length=128)),
('wecom好友昵称', models.CharField(max_length=128)),
('wecom好友头像', models.TextField(default='https://hudie.xiao.band/default_avacitve.jpeg')),
('wecom好友性别', models.CharField(max_length=128)),
('wecom好友的ID', models.CharField(max_length=128)),
('wecom好友关系状态', models.CharField(blank=True, max_length=128, null=True)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
],
options={
'db_table': 'wecom企微用户',
'ordering': ['-dateAndTime', '-updateTime'],
},
),
migrations.CreateModel(
name='wecom企微群',
fields=[
('idKeyWecom企微群', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False)),
('chat_id群', models.CharField(max_length=128)),
('chat群名称', models.CharField(blank=True, max_length=128, null=True)),
('chat群主ID', models.CharField(blank=True, max_length=128, null=True)),
('chat群成员外部好友external_userid', models.CharField(blank=True, max_length=128, null=True)),
('chat群成员外部好友unionid', models.CharField(blank=True, max_length=128, null=True)),
('chat群成员外部好友名称', models.CharField(blank=True, max_length=128, null=True)),
('chat群成员外部好友群名称', models.CharField(blank=True, max_length=128, null=True)),
('chat群成员外部好友类型', models.IntegerField(blank=True, null=True)),
('chat群成员外部好友加入方式', models.IntegerField(blank=True, null=True)),
('chat群成员外部好友邀请者', models.CharField(blank=True, max_length=128, null=True)),
('chat群管理员列表', models.JSONField(default=list)),
('chat群创建时间', models.IntegerField(blank=True, null=True)),
('chat群成员加入时间', models.IntegerField(blank=True, null=True)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
],
options={
'db_table': 'wecom企微群',
'ordering': ['-dateAndTime', '-updateTime'],
},
),
migrations.CreateModel(
name='weitoken',
fields=[
('token_name', models.CharField(max_length=120, primary_key=True, serialize=False)),
('token_value', models.TextField(blank=True, null=True)),
('tick_value', models.TextField(blank=True, null=True)),
('phone_token_value', models.TextField(blank=True, null=True)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
],
options={
'db_table': 'weitoken',
'ordering': ['dateAndTime', 'updateTime'],
},
),
migrations.CreateModel(
name='weiuser地图定位',
fields=[
('idKey', models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False)),
('id_str', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128)),
('map用户uniond', models.CharField(max_length=128)),
('map用户openid', models.CharField(max_length=128)),
('map经度longitude', models.DecimalField(blank=True, decimal_places=6, max_digits=10, null=True)),
('map纬度latitude', models.DecimalField(blank=True, decimal_places=6, max_digits=10, null=True)),
('map省', models.CharField(blank=True, max_length=128, null=True)),
('map市', models.CharField(blank=True, max_length=128, null=True)),
('map区', models.CharField(blank=True, max_length=128, null=True)),
('map街道', models.CharField(blank=True, max_length=128, null=True)),
('map街道号码', models.CharField(blank=True, max_length=128, null=True)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
],
options={
'db_table': 'weiuser地图定位',
'ordering': ['dateAndTime', 'updateTime'],
},
),
migrations.CreateModel(
name='weiuser用户角色表',
fields=[
('idKeyweiuser用户角色表', models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False)),
('id_str', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128)),
('user用户角色名称', models.CharField(choices=[('推广员', '推广员'), ('企微员工', '企微员工'), ('无状态', '无状态'), ('普通会员', '普通会员'), ('六果科技有限公司', '六果科技有限公司'), ('群好友', '群好友')], default='普通会员', max_length=128)),
('user用户的unionid', models.CharField(max_length=128)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
],
options={
'db_table': 'weiuser用户角色表',
'ordering': ['-dateAndTime', '-updateTime'],
},
),
migrations.CreateModel(
name='xiaozizi',
fields=[
('idKey', models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False)),
('id_str', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128)),
('xiao_name', models.CharField(max_length=128)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
],
options={
'db_table': 'xiaozizi',
'ordering': ['-idKey'],
},
),
migrations.CreateModel(
name='lucky拼团订单',
fields=[
('idKey', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False)),
('order拼团支付订单号', models.CharField(max_length=128)),
('order支付都ID', models.CharField(max_length=128)),
('order商品ID', models.CharField(max_length=128)),
('order商品数据', models.JSONField()),
('order商品总价', models.IntegerField()),
('order商品数量', models.IntegerField()),
('order支付数据', models.JSONField(default=dict)),
('order支付状态', models.CharField(default='支付中', max_length=128)),
('order用户配送地址', models.JSONField(default=dict)),
('order物流状态', models.CharField(blank=True, max_length=128, null=True)),
('order物流订单号', models.CharField(blank=True, max_length=128, null=True)),
('order物流数据', models.JSONField(default=dict)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
('wai外键lucky拼团表', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='django_app.lucky拼团')),
],
options={
'db_table': 'lucky拼团订单',
'ordering': ['dateAndTime', 'updateTime'],
},
),
migrations.CreateModel(
name='order订单',
fields=[
('id_主键_order订单', models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False)),
('id_str', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128)),
('order支付订单号', models.CharField(max_length=128)),
('order支付者openid', models.CharField(max_length=128)),
('order支付者unionid', models.CharField(max_length=128)),
('order分享者unionid', models.CharField(default='六果', max_length=128)),
('order商品ID', models.CharField(max_length=128)),
('order商品数据', models.JSONField()),
('order商品总价', models.IntegerField()),
('order商品数量', models.IntegerField()),
('order支付数据', models.JSONField(default=dict)),
('order支付状态', models.CharField(default='支付中', max_length=128)),
('order用户配送地址', models.JSONField(default=dict)),
('order物流状态', models.CharField(blank=True, max_length=128, null=True)),
('order物流订单号', models.CharField(blank=True, max_length=128, null=True)),
('order物流数据', models.JSONField(default=dict)),
('order订单类型', models.CharField(blank=True, max_length=128, null=True)),
('order物流公司订单编号', models.CharField(blank=True, max_length=128, null=True)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
('wai外键lucky拼团表', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='django_app.lucky拼团')),
],
options={
'db_table': 'order订单',
'ordering': ['-id_主键_order订单'],
},
),
migrations.CreateModel(
name='weiuser',
fields=[
('unionid', models.CharField(editable=False, max_length=120, primary_key=True, serialize=False)),
('mini_openid', models.CharField(blank=True, db_comment='自身id', max_length=100, null=True, unique=True)),
('wechat_openid', models.CharField(blank=True, db_comment='服务号自身id', max_length=100, null=True, unique=True)),
('wecom_openid', models.CharField(blank=True, db_comment='企微自身id', max_length=100, null=True, unique=True)),
('external_userid', models.CharField(blank=True, db_comment='外部联系人ID', max_length=100, null=True)),
('nickName', models.CharField(db_comment='用户的昵称', default='匿名用户', max_length=120)),
('avatar', models.CharField(db_comment='用户头像', default='https://hudie.xiao.band/default_avacitve.jpeg', max_length=245)),
('level', models.IntegerField(default=1)),
('isShowImg', models.BooleanField(db_comment='是否显示图片,这个图片就是企微二维码', default=False)),
('isWorkers', models.CharField(choices=[('推广员', '推广员'), ('企微员工', '企微员工'), ('无状态', '无状态')], db_comment='推广员状态', default='无状态')),
('codeConfigId', models.TextField(blank=True, null=True)),
('codeQrCode', models.TextField(blank=True, null=True)),
('codeRemark', models.TextField(blank=True, null=True)),
('add_time', models.DateTimeField(blank=True, db_comment='用户添加好友的时间', null=True)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='children', to='django_app.weiuser')),
],
options={
'db_table': 'weiuser',
'ordering': ['-dateAndTime', '-updateTime'],
},
),
migrations.CreateModel(
name='wecom推广码',
fields=[
('idKey', models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False)),
('id_str', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128)),
('codeConfigId', models.CharField(max_length=128)),
('codeType', models.IntegerField(blank=True, null=True)),
('codeQrCode', models.CharField(blank=True, max_length=256, null=True)),
('codeRemark', models.CharField(blank=True, max_length=128, null=True)),
('codeState', models.CharField(blank=True, max_length=128, null=True)),
('codeUser', models.JSONField(blank=True, null=True)),
('code省', models.CharField(blank=True, max_length=128, null=True)),
('code市', models.CharField(blank=True, max_length=128, null=True)),
('code区', models.CharField(blank=True, max_length=128, null=True)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
('wai外键weiuser表', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='django_app.weiuser')),
],
options={
'db_table': 'wecom推广码',
'ordering': ['-dateAndTime', '-updateTime'],
},
),
migrations.CreateModel(
name='weiuser微信用户地址',
fields=[
('id_主键_配送地址', models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False)),
('id_str', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128)),
('address', models.JSONField()),
('isDefaultAddress', models.CharField(choices=[('是默认地址', '是默认地址'), ('不是默认地址', '不是默认地址')], max_length=120)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
('key_weiuser', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='django_app.weiuser')),
],
options={
'db_table': 'weiuser微信用户地址',
'ordering': ['-id_主键_配送地址'],
},
),
]
@@ -0,0 +1,89 @@
# Generated by Django 6.0.2 on 2026-05-03 04:26
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,89 @@
# Generated by Django 6.0.2 on 2026-05-03 04:45
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0002_alter_goods商品_id_str_alter_lucky拼团_idkey_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,111 @@
# Generated by Django 6.0.2 on 2026-05-25 16:10
import uuid6
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0003_alter_goods商品_id_str_alter_lucky拼团_idkey_and_more'),
]
operations = [
migrations.CreateModel(
name='Goods',
fields=[
('idKey', models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False)),
('goods_id商品', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128)),
('goods_商品品牌', models.CharField(max_length=128)),
('goods_商品标题', models.CharField(max_length=128)),
('goods_商品信息', models.JSONField(blank=True, default=dict, null=True)),
('goods_商品详情图片', models.JSONField(blank=True, default=dict, null=True)),
('goods_商品销售规格', models.JSONField(blank=True, default=list, null=True)),
('goods_商品销售场景', models.CharField(blank=True, choices=[('幸运拼团', '幸运拼团'), ('商城商品', '商城商品')], max_length=128, null=True)),
('goods_商品搜索标签', models.JSONField(blank=True, default=list, null=True)),
('goods_商家推荐标签', models.JSONField(blank=True, default=list, null=True)),
('goods_其它参数', models.JSONField(blank=True, null=True)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
],
options={
'db_table': 'Goods',
},
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,99 @@
# Generated by Django 6.0.2 on 2026-05-25 16:17
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0004_goods_alter_goods商品_id_str_alter_lucky拼团_idkey_and_more'),
]
operations = [
migrations.AddField(
model_name='goods',
name='goods_商品标签',
field=models.JSONField(blank=True, default=list, null=True),
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,99 @@
# Generated by Django 6.0.2 on 2026-05-25 16:25
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0005_goods_goods_商品标签_alter_goods_goods_id商品_and_more'),
]
operations = [
migrations.AddField(
model_name='goods',
name='goods_分享积分',
field=models.JSONField(blank=True, default=dict, null=True),
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,109 @@
# Generated by Django 6.0.2 on 2026-05-27 06:07
import django.db.models.deletion
import uuid6
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0006_goods_goods_分享积分_alter_goods_goods_id商品_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.CreateModel(
name='zizi',
fields=[
('zizi_id', models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False)),
('zizi_name', models.CharField(max_length=128)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
('wai键', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='django_app.xiaozizi')),
],
options={
'db_table': 'xiao',
},
),
]
@@ -0,0 +1,121 @@
# Generated by Django 6.0.2 on 2026-05-27 06:42
import django.db.models.deletion
import uuid6
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0007_alter_goods_goods_id商品_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.CreateModel(
name='order订单商品数据',
fields=[
('order订单商品数_id', models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False)),
('order_id_str', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128)),
('order_id商品', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128)),
('order_商品品牌', models.CharField(max_length=128)),
('order_商品标题', models.CharField(max_length=128)),
('order_商品信息', models.JSONField(blank=True, null=True)),
('order_商品标签', models.JSONField(blank=True, null=True)),
('order_商品详情图片', models.JSONField(blank=True, null=True)),
('order_商品销售规格', models.JSONField(blank=True, null=True)),
('order_商品销售场景', models.CharField(blank=True, choices=[('幸运拼团', '幸运拼团'), ('商城商品', '商城商品')], default='商城商品', max_length=128, null=True)),
('order_分享积分', models.JSONField(blank=True, null=True)),
('order_商品搜索标签', models.JSONField(blank=True, null=True)),
('order_商家推荐标签', models.JSONField(blank=True, null=True)),
('order_其它参数', models.JSONField(blank=True, null=True)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
('wai_订单', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='django_app.order订单')),
],
options={
'db_table': 'order订单商品数据',
},
),
]
@@ -0,0 +1,114 @@
# Generated by Django 6.0.2 on 2026-05-27 07:35
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0008_alter_goods_goods_id商品_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AddField(
model_name='order订单商品数据',
name='order_订单数量',
field=models.IntegerField(blank=True, null=True),
),
migrations.AddField(
model_name='order订单商品数据',
name='order订单总金额',
field=models.IntegerField(blank=True, null=True),
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,127 @@
# Generated by Django 6.0.2 on 2026-05-27 08:02
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0009_order订单商品数据_order_订单数量_order订单商品数据_order订单总金额_and_more'),
]
operations = [
migrations.RenameField(
model_name='order订单',
old_name='order商品总价',
new_name='order购物车商品总价',
),
migrations.RenameField(
model_name='order订单',
old_name='order商品数量',
new_name='order购物车商品数量',
),
migrations.RemoveField(
model_name='order订单',
name='order商品ID',
),
migrations.RemoveField(
model_name='order订单',
name='order商品数据',
),
migrations.AddField(
model_name='order订单',
name='order购物车商品数据',
field=models.JSONField(blank=True, null=True),
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,125 @@
# Generated by Django 6.0.2 on 2026-05-29 17:24
import django.db.models.deletion
import uuid6
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0010_rename_order商品总价_order订单_order购物车商品总价_and_more'),
]
operations = [
migrations.CreateModel(
name='mini用户角色表',
fields=[
('mini用户角色表_id', models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False)),
('mini用户角色表_id_str', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128)),
('mini_角色名称', models.CharField(choices=[('推广员', '推广员'), ('企微员工', '企微员工'), ('无状态', '无状态'), ('普通会员', '普通会员'), ('六果科技有限公司', '六果科技有限公司'), ('群好友', '群好友')], default='普通会员', max_length=20)),
('mini_等级权重', models.IntegerField(default=1, verbose_name='等级权重')),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
],
options={
'db_table': 'mini用户角色表',
},
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AddField(
model_name='weiuser',
name='mini_wai键_用户角色',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='django_app.mini用户角色表'),
),
]
@@ -0,0 +1,114 @@
# Generated by Django 6.0.2 on 2026-05-30 09:06
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0011_mini用户角色表_alter_goods_goods_id商品_and_more'),
]
operations = [
migrations.AddField(
model_name='order订单',
name='order支付微信官方订单号',
field=models.CharField(blank=True, max_length=128, null=True),
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='mini用户角色表',
name='mini用户角色表_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,114 @@
# Generated by Django 6.0.2 on 2026-05-31 13:22
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0012_order订单_order支付微信官方订单号_alter_goods_goods_id商品_and_more'),
]
operations = [
migrations.AddField(
model_name='xiaozizi',
name='xiao_age',
field=models.IntegerField(blank=True, null=True),
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='mini用户角色表',
name='mini用户角色表_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,123 @@
# Generated by Django 6.0.2 on 2026-06-01 06:58
import uuid6
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0013_xiaozizi_xiao_age_alter_goods_goods_id商品_and_more'),
]
operations = [
migrations.CreateModel(
name='wecom企微员工',
fields=[
('wecom企微员工_id', models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False)),
('wecom_userid', models.CharField(max_length=128)),
('wecom_department', models.CharField(blank=True, max_length=128, null=True)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
],
options={
'db_table': 'wecom企微员工',
},
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='mini用户角色表',
name='mini用户角色表_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,109 @@
# Generated by Django 6.0.2 on 2026-06-07 16:06
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0014_wecom企微员工_alter_goods_goods_id商品_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='mini用户角色表',
name='mini用户角色表_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,109 @@
# Generated by Django 6.0.2 on 2026-06-17 13:55
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0015_alter_goods_goods_id商品_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='mini用户角色表',
name='mini用户角色表_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,109 @@
# Generated by Django 6.0.2 on 2026-06-19 23:20
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0016_alter_goods_goods_id商品_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='mini用户角色表',
name='mini用户角色表_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,109 @@
# Generated by Django 6.0.2 on 2026-06-22 12:43
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0017_alter_goods_goods_id商品_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='mini用户角色表',
name='mini用户角色表_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,113 @@
# Generated by Django 6.0.2 on 2026-07-14 17:43
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0018_alter_goods_goods_id商品_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.RemoveField(
model_name='weiuser',
name='mini_wai键_用户角色',
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='mini用户角色表',
name='mini用户角色表_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,121 @@
# Generated by Django 6.0.2 on 2026-07-14 17:51
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0019_remove_weiuser_mini_wai键_用户角色_alter_goods_goods_id商品_and_more'),
]
operations = [
migrations.DeleteModel(
name='mini用户角色表',
),
migrations.RemoveField(
model_name='weiuser',
name='isWorkers',
),
migrations.AddField(
model_name='weiuser',
name='user_roles',
field=models.CharField(choices=[('推广员', '推广员'), ('企微员工', '企微员工'), ('无状态', '无状态'), ('普通会员', '普通会员'), ('六果科技有限公司', '六果科技有限公司'), ('群好友', '群好友')], default='普通会员'),
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser',
name='avatar',
field=models.CharField(db_comment='用户头像', default='https://hudie.xiao.band/%E6%9C%AA%E5%91%BD%E5%90%8D.png', max_length=245),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,116 @@
# Generated by Django 6.0.2 on 2026-07-14 18:11
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0020_delete_mini用户角色表_remove_weiuser_isworkers_and_more'),
]
operations = [
migrations.AddField(
model_name='weiuser微信用户地址',
name='mini_openid',
field=models.CharField(default=' '),
preserve_default=False,
),
migrations.AddField(
model_name='weiuser微信用户地址',
name='mini_unionid',
field=models.CharField(default=' '),
preserve_default=False,
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,108 @@
# Generated by Django 6.0.2 on 2026-07-14 18:46
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0021_weiuser微信用户地址_mini_openid_weiuser微信用户地址_mini_unionid_and_more'),
]
operations = [
migrations.RemoveField(
model_name='weiuser微信用户地址',
name='key_weiuser',
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,124 @@
# Generated by Django 6.0.2 on 2026-07-14 19:30
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0022_remove_weiuser微信用户地址_key_weiuser_and_more'),
]
operations = [
migrations.RenameField(
model_name='weiuser',
old_name='avatar',
new_name='user_头像',
),
migrations.RenameField(
model_name='weiuser',
old_name='nickName',
new_name='user_昵称',
),
migrations.RenameField(
model_name='weiuser',
old_name='level',
new_name='user_用户当前的等级',
),
migrations.AddField(
model_name='weiuser',
name='uesr_手机号码',
field=models.CharField(blank=True, null=True),
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,109 @@
# Generated by Django 6.0.2 on 2026-07-14 19:33
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0023_rename_avatar_weiuser_user_头像_and_more'),
]
operations = [
migrations.RenameField(
model_name='weiuser',
old_name='user_roles',
new_name='user_角色权限',
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,108 @@
# Generated by Django 6.0.2 on 2026-07-14 19:34
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0024_rename_user_roles_weiuser_user_角色权限_and_more'),
]
operations = [
migrations.RemoveField(
model_name='weiuser',
name='isShowImg',
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,109 @@
# Generated by Django 6.0.2 on 2026-07-14 20:09
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0025_remove_weiuser_isshowimg_alter_goods_goods_id商品_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser',
name='unionid',
field=models.CharField(max_length=120, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,110 @@
# Generated by Django 6.0.2 on 2026-07-16 20:07
import sixGuoDjango
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0026_alter_goods_goods_id商品_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='idKey',
field=models.UUIDField(default=sixGuoDjango.uuid_hex, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,110 @@
# Generated by Django 6.0.2 on 2026-07-16 20:12
import uuid6
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0027_alter_goods_goods_id商品_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='idKey',
field=models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,104 @@
# Generated by Django 6.0.2 on 2026-07-16 20:24
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0028_alter_goods_goods_id商品_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='xiaozizi',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,109 @@
# Generated by Django 6.0.2 on 2026-07-16 20:28
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0029_alter_goods_goods_id商品_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.RemoveField(
model_name='zizi',
name='wai键',
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share分享者积分',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.DeleteModel(
name='xiaozizi',
),
migrations.DeleteModel(
name='zizi',
),
]
@@ -0,0 +1,120 @@
# Generated by Django 6.0.2 on 2026-07-17 10:45
import uuid6
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0030_remove_zizi_wai键_alter_goods_goods_id商品_and_more'),
]
operations = [
migrations.CreateModel(
name='share积分表',
fields=[
('id_主键', models.UUIDField(default=uuid6.uuid8, primary_key=True, serialize=False)),
('id_str', models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128)),
('share分享者unionid', models.CharField(max_length=128)),
('share分享者openid', models.CharField(blank=True, max_length=128, null=True)),
('share分享类型', models.CharField(blank=True, max_length=128, null=True)),
('share分享者昵称', models.CharField(blank=True, max_length=128, null=True)),
('share分享者积分值', models.IntegerField(default=0)),
('share点击者unionid', models.CharField(blank=True, max_length=128, null=True)),
('share点击者openid', models.CharField(blank=True, max_length=128, null=True)),
('share点击者昵称', models.CharField(max_length=128)),
('share日期', models.DateField(blank=True, null=True)),
('share日期时间', models.DateTimeField(blank=True, null=True)),
('dateAndTime', models.DateTimeField(auto_now_add=True, db_comment='创建时间')),
('updateTime', models.DateTimeField(auto_now=True, db_comment='更新时间')),
],
options={
'db_table': 'share积分表',
},
),
migrations.DeleteModel(
name='share分享者积分',
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,109 @@
# Generated by Django 6.0.2 on 2026-07-18 19:30
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0031_share积分表_delete_share分享者积分_alter_goods_goods_id商品_and_more'),
]
operations = [
migrations.AddField(
model_name='share积分表',
name='share分享者头像',
field=models.TextField(blank=True, null=True),
),
migrations.AddField(
model_name='share积分表',
name='share点击者头像',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share积分表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,99 @@
# Generated by Django 6.0.2 on 2026-07-18 22:19
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0032_share积分表_share分享者头像_share积分表_share点击者头像_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share积分表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,99 @@
# Generated by Django 6.0.2 on 2026-07-18 22:22
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0033_alter_goods_goods_id商品_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share积分表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,99 @@
# Generated by Django 6.0.2 on 2026-07-18 23:21
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0034_alter_goods_goods_id商品_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share积分表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,99 @@
# Generated by Django 6.0.2 on 2026-07-19 16:50
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0035_alter_goods_goods_id商品_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share积分表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,99 @@
# Generated by Django 6.0.2 on 2026-07-19 16:55
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0036_alter_goods_goods_id商品_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share积分表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,104 @@
# Generated by Django 6.0.2 on 2026-07-20 17:32
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0037_alter_goods_goods_id商品_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单',
name='order购物车商品数据',
field=models.JSONField(blank=True, default=list, null=True),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share积分表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,108 @@
# Generated by Django 6.0.2 on 2026-07-20 23:04
import ulid
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0038_alter_goods_goods_id商品_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.RemoveField(
model_name='goods',
name='goods_分享积分',
),
migrations.RemoveField(
model_name='goods',
name='goods_商品详情图片',
),
migrations.AlterField(
model_name='goods',
name='goods_id商品',
field=models.CharField(default=ulid.ULID, max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share积分表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,99 @@
# Generated by Django 6.0.2 on 2026-07-21 16:54
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0039_remove_goods_goods_分享积分_remove_goods_goods_商品详情图片_and_more'),
]
operations = [
migrations.AddField(
model_name='share积分表',
name='share分享的商品ID',
field=models.CharField(blank=True, null=True),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share积分表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,95 @@
# Generated by Django 6.0.2 on 2026-07-23 20:37
import ulid
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0040_share积分表_share分享的商品id_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share积分表',
name='id_str',
field=models.CharField(default=ulid.ULID, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,94 @@
# Generated by Django 6.0.2 on 2026-07-24 03:32
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0041_alter_goods商品_id_str_alter_lucky拼团_idkey_and_more'),
]
operations = [
migrations.RenameField(
model_name='order订单',
old_name='order支付订单号',
new_name='order支付商家侧订单号',
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,114 @@
# Generated by Django 6.0.2 on 2026-07-25 21:32
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0042_rename_order支付订单号_order订单_order支付商家侧订单号_and_more'),
]
operations = [
migrations.AddField(
model_name='weiuser',
name='user_IP地址',
field=models.GenericIPAddressField(blank=True, null=True),
),
migrations.AddField(
model_name='weiuser',
name='user_区县',
field=models.CharField(blank=True, max_length=128, null=True),
),
migrations.AddField(
model_name='weiuser',
name='user_城市',
field=models.CharField(blank=True, max_length=128, null=True),
),
migrations.AddField(
model_name='weiuser',
name='user_省份',
field=models.CharField(blank=True, max_length=128, null=True),
),
migrations.AddField(
model_name='weiuser',
name='user_街道信息',
field=models.CharField(blank=True, max_length=128, null=True),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,94 @@
# Generated by Django 6.0.2 on 2026-07-25 23:51
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0043_weiuser_user_ip地址_weiuser_user_区县_weiuser_user_城市_and_more'),
]
operations = [
migrations.AddField(
model_name='share积分表',
name='share支付订单商家侧的订单号',
field=models.CharField(blank=True, max_length=128, null=True),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,94 @@
# Generated by Django 6.0.2 on 2026-07-26 01:30
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0044_share积分表_share支付订单商家侧的订单号_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AddField(
model_name='share积分表',
name='share积分是否可以提现的状态',
field=models.CharField(blank=True, null=True),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,94 @@
# Generated by Django 6.0.2 on 2026-07-26 16:49
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0045_share积分表_share积分是否可以提现的状态_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AddField(
model_name='weiuser',
name='user_绑定企微usrID账号',
field=models.CharField(blank=True, max_length=128, null=True),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,94 @@
# Generated by Django 6.0.2 on 2026-07-26 23:35
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0046_weiuser_user_绑定企微usrid账号_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AddField(
model_name='weiuser',
name='user_企微角色权限',
field=models.CharField(blank=True, max_length=128, null=True),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,99 @@
# Generated by Django 6.0.2 on 2026-07-28 01:39
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0047_weiuser_user_企微角色权限_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AddField(
model_name='share积分表',
name='share支付提现微信公司生成的转账数据',
field=models.TextField(blank=True, null=True),
),
migrations.AddField(
model_name='share积分表',
name='share支付用户提现状态',
field=models.CharField(blank=True, max_length=128, null=True),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,99 @@
# Generated by Django 6.0.2 on 2026-07-28 03:01
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0048_share积分表_share支付提现微信公司生成的转账数据_share积分表_share支付用户提现状态_and_more'),
]
operations = [
migrations.AddField(
model_name='share积分表',
name='share支付微信侧返回的提现状态',
field=models.CharField(blank=True, max_length=128, null=True),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='share积分表',
name='share支付提现微信公司生成的转账数据',
field=models.JSONField(blank=True, default=dict, null=True),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,109 @@
# Generated by Django 6.0.2 on 2026-07-29 02:52
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0049_share积分表_share支付微信侧返回的提现状态_alter_goods商品_id_str_and_more'),
]
operations = [
migrations.AddField(
model_name='weiuser',
name='user_绑定企微UNIONID',
field=models.CharField(blank=True, max_length=128, null=True),
),
migrations.AlterField(
model_name='goods',
name='goods_商品销售场景',
field=models.CharField(blank=True, choices=[('幸运拼团', '幸运拼团'), ('商城商品', '商城商品'), ('赢免单', '赢免单')], max_length=128, null=True),
),
migrations.AlterField(
model_name='goods商品',
name='goods商品类型',
field=models.CharField(choices=[('幸运拼团', '幸运拼团'), ('商城商品', '商城商品'), ('赢免单', '赢免单')], default='商城商品', max_length=128),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_商品销售场景',
field=models.CharField(blank=True, choices=[('幸运拼团', '幸运拼团'), ('商城商品', '商城商品'), ('赢免单', '赢免单')], default='商城商品', max_length=128, null=True),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser用户角色表',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,92 @@
# Generated by Django 6.0.2 on 2026-07-30 18:45
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0050_weiuser_user_绑定企微unionid_alter_goods_goods_商品销售场景_and_more'),
]
operations = [
migrations.DeleteModel(
name='weiuser用户角色表',
),
migrations.AddField(
model_name='weiuser',
name='user_绑定用工关系',
field=models.CharField(blank=True, max_length=128, null=True),
),
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
@@ -0,0 +1,84 @@
# Generated by Django 6.0.2 on 2026-08-01 03:25
import wechat_数据库.雪花算法.雪花算法工具
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('django_app', '0051_delete_weiuser用户角色表_weiuser_user_绑定用工关系_and_more'),
]
operations = [
migrations.AlterField(
model_name='goods商品',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='lucky拼团',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='lucky拼团订单',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='map地图ip转地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='minisub订阅消息模板',
name='idKey',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='order订单',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='order订单商品数据',
name='order_id商品',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wechattransferorder',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='wecom企微用户',
name='idKeyWecom企微用户',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom企微群',
name='idKeyWecom企微群',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='wecom推广码',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser地图定位',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
migrations.AlterField(
model_name='weiuser微信用户地址',
name='id_str',
field=models.CharField(default=wechat_数据库.雪花算法.雪花算法工具.SnowflakeIDGenerator.generate_str, max_length=128),
),
]
View File
+14
View File
@@ -0,0 +1,14 @@
from django.db import models
from django_定时器 import 幸运拼团数据库
from wechat_wecom_企业微信管理.企微通讯录管理.企微通讯录管理数据库 import 企微员工数据
from wechat_数据库.企业微信数据库 import 推广二维码数据表, 企微用户表, 企微群数据库
from wechat_token import token数据库
from wechat_数据库.地图定位 import 用户定位数据库, 腾讯地图解析数据库
from wechat_数据库.小程序后端数据库 import 订阅消息
from wechat_数据库.支付数据库 import 商家转账数据库
from wechat_数据库.支付订单数据库 import 商品订单数据
from wechat_数据库.洗衣液商品数据库 import 六果洗衣液商品
from wechat_数据库.测试数据库 import 测试数据表
from wechat_数据库.用户数据库 import 小程序登陆用户, 小程序用户地址, 小程序积分数据库
# Create your models here.
+3
View File
@@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.
+111
View File
@@ -0,0 +1,111 @@
from typing import cast
import orjson
import pydash
from asgiref.sync import async_to_sync
from channels.layers import BaseChannelLayer, get_channel_layer
from django.core.files.storage import default_storage
from django.core.files.uploadedfile import InMemoryUploadedFile
from django.http import HttpResponseRedirect
from rest_framework import status
from rest_framework.decorators import action
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.routers import DefaultRouter
from rest_framework.viewsets import ViewSet
from django_jwt_token.jwt认证接口 import Jwt身份认证
from sixGuoDjango import BaseResponse, ResData, redis_5
default_channel_layer = cast(BaseChannelLayer, get_channel_layer(alias="default"))
from functools import wraps
import threading
def sync_lock(lock):
def decorator(fn):
@wraps(fn)
def wrapper(*args, **kwargs):
with lock:
return fn(*args, **kwargs)
return wrapper
return decorator
class DemoXiaoViewSets(ViewSet):
lock = threading.Lock() # 所有请求 共享这一个 lock对象
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="zizi")
def 只用于初始化项目测试接口(self, request: Request):
""""""
print("测试接口")
# 可以对用户添加某一类型的积分
# with ThreadPoolExecutor( max_workers=3 ) as executor:
# 返回值 = executor.map( 请求企微, [ 1, 2, 3 ] )
# print( 返回值 )
# for item in 返回值:
# print( item )
xiao = request.data.get("xiao", None)
print(xiao)
商品数据 = request.data.get("商品数据", "")
data = orjson.loads(商品数据)
列表 = pydash.get(obj=data, path="列表")
print(列表, 商品数据)
fileDataList: list[InMemoryUploadedFile] = request.FILES.getlist("fileDataList", None) # 接收多个图片或者文件
for file in fileDataList:
default_storage.save(name=file.name, content=file)
httpResData = BaseResponse(resData=ResData(listData=[""], dictData={}), ).model_dump()
return Response(data=httpResData, status=status.HTTP_200_OK)
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="xiao")
def xiao(self, request: Request):
""""""
openid = "oy4Jw6A1T3WkKOOhMxcbQTDSM8rs"
channels_name = redis_5.get(name="xiaozizi")
async_to_sync(awaitable=default_channel_layer.send)(channel=channels_name,
message={"type": "chat_msg",
"data": {"xiao": "zizi"},
})
httpResData = BaseResponse(resData=ResData(listData=[""], dictData={"demo": "xiaozizi"}), ).model_dump()
return Response(data=httpResData, status=status.HTTP_200_OK)
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="eventSource")
def sse请求处理接口(self, request: Request):
""""""
print(
"sse请求处理接口sse请求处理接口sse请求处理接口sse请求处理接口sse请求处理接口sse请求处理接口sse请求处理接口sse请求处理接口sse请求处理接口sse请求处理接口")
httpResData = BaseResponse(resData=ResData(listData=[""], dictData={"demo": "xiaozizi"}), ).model_dump()
return Response(data=httpResData, status=status.HTTP_200_OK)
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="xiaozizi",
authentication_classes=[Jwt身份认证])
# @sync_lock_线程锁( lock=lock )
def xiaozizi(self, request: Request):
pass
return Response(data={"xiao": "111111111111111111"})
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="redirect")
# @sync_lock_线程锁( lock=lock )
def redirect(self, request: Request):
# 接口是用来测试重定向
pass
return HttpResponseRedirect(redirect_to="https://six.sixgou.com/")
# @sync_lock(lock=lock)
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="中文", )
def 中文(self, request: Request):
print("卡异步的请求")
xiaozizi = request.data.get("xiaozizi", None)
print(xiaozizi)
return Response(data={"msg": xiaozizi})
DemoXiaoViewSetsDemoRouter = DefaultRouter()
DemoXiaoViewSetsDemoRouter.register(prefix="", viewset=DemoXiaoViewSets, basename="DemoXiaoViewSets")
+118
View File
@@ -0,0 +1,118 @@
import emoji
import orjson
import pydash
from rest_framework import status
from rest_framework.decorators import action
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.routers import DefaultRouter
from rest_framework.viewsets import ViewSet
from ulid import ULID
from sixGuoDjango import BaseResponse, ResData
from wechat_微信支付证书.江苏六果科技有限公司支付证书.江苏六果科技有限公司支付参数 import sixpay六果科技公司
from wechat_数据库.支付订单数据库.商品订单数据 import order订单
from wechat_数据库.用户数据库.小程序登陆用户 import weiuser
from wechat_项目工具包.EMS中国邮政.ems邮政 import ems邮政物流工具
from wechat_项目工具包.微信支付工具包.微信支付类 import paymentCategory, wechatPay
from wechat_项目工具包.数据库的工具包.更新用户积分 import miniUser用户角色, miniUser积分
class 业务订单接口ViewSets(ViewSet):
def 处理积分方法(self, 商家订单号):
pass
# 将字符串转为换字典
order对象 = order订单.objects.get(order支付商家侧订单号=商家订单号) # 拿到当前订单的对象数据
# 通过订单号,拿到 第一个值:
order购物车商品列表数据 = pydash.get(obj=pydash.head(order对象.order购物车商品数据), path="推荐积分.商品详情页面分享")
def 首单自动注册成为推广员(self, out_trade_no):
pass
order对象 = order订单.objects.get(order支付商家侧订单号=out_trade_no)
user用户对象 = weiuser.objects.get(unionid=order对象.order支付者unionid)
six绑定的企微员工对象, sixBool = weiuser.objects.get_or_create(unionid=user用户对象.user_绑定企微UNIONID)
# 判断用户成为推广员的标准 成为的条件,当前用户绑定的企微员工账号, 必须是同一个区县的
if user用户对象.user_角色权限 == miniUser用户角色().普通会员 and six绑定的企微员工对象.user_区县 == user用户对象.user_区县:
# 当前的用户为普通会员 ,这里被调用了说明肯定是下单成功了 , 需要升级为推广员
print("支付测试成功了,并且能成为推广员")
user用户对象.user_角色权限 = miniUser用户角色().推广员
user用户对象.save()
@action(detail=False, methods=["post"], url_path="mall")
def 商城订单支付接口(self, request: Request) -> Response:
"""前端小程序的用户: 发起支付订单的请求接口"""
url_pay = "https://api.mch.weixin.qq.com/v3/pay/transactions/jsapi" # 发起请求的链接
self_mini_openid = request.data.get("self_mini_openid", None)
self_mini_unionid = request.data.get("self_mini_unionid", None)
order购物车商品数据 = request.data.get("order购物车商品数据", None)
order购物车商品数量 = request.data.get("order购物车商品数量", None)
order购物车商品总价 = request.data.get("order购物车商品总价", None)
order用户配送地址 = request.data.get("order用户配送地址", None)
share订单分享者ID = request.data.get("share订单分享者ID", "六果") # 当前是否有上级对象
order订单类型 = request.data.get("order订单类型", None)
goods标题 = emoji.replace_emoji(pydash.get(obj=pydash.head(order购物车商品数据), path="goods_商品标题"))
out_trade_no商家侧的订单号 = f"OAT{ULID()}" # 生成商家侧的订单号
body = {
"mchid": paymentCategory.mchid, # 【直连商户号】 直连商户号
"out_trade_no": out_trade_no商家侧的订单号, # 【商户订单号】 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一。
"appid": paymentCategory.appid, # 【公众号 或者 小程序ID】
"description": goods标题, # 【商品描述】 商品描述要
"notify_url": "https://six.sixgou.com/six/mall_callbakc/", # 回调地址要
"amount": {
# "total": order购物车商品总价, # 【总金额】 订单总金额,单位为分。
"total": 1, # 【总金额】 订单总金额,单位为分。
"currency": "CNY", # 【货币类型】 CNY:人民币,境内商户号仅支持人民币。
}, # 【支付者】 支付者信息。
"attach": orjson.dumps({"share订单分享者ID": share订单分享者ID, "out_trade_no": out_trade_no商家侧的订单号, }).decode(
encoding="utf-8"),
"payer": {
# "openid": "ohQkD7A-N93kljcFmkCyG6e_D9vg", # 【用户标识】 用户在普通商户AppID下的唯一标识。 下单前需获取到用户的OpenID,详见OpenID获取
"openid": self_mini_openid, # 【用户标识】 用户在普通商户AppID下的唯一标识。 下单前需获取到用户的OpenID,详见OpenID获取
},
} # 请求的数据
wechat_data = wechatPay(payment=sixpay六果科技公司).getpay_jsapi(uri=url_pay, body_data=body, method="POST")
payData = pydash.get(obj=wechat_data, path="response")
order订单对象 = order订单.objects.create(order支付商家侧订单号=out_trade_no商家侧的订单号,
order购物车商品总价=order购物车商品总价, order购物车商品数据=order购物车商品数据,
order购物车商品数量=order购物车商品数量,
order支付数据=body, order支付状态="支付中",
order订单类型=order订单类型,
order用户配送地址=order用户配送地址,
order分享者unionid=share订单分享者ID,
order支付者openid=self_mini_openid,
order支付者unionid=self_mini_unionid,
)
httpResData = BaseResponse(resData=ResData(listData=[""], dictData=payData), ).model_dump()
# httpResData = BaseResponse(resData=ResData(listData=[""], dictData={}), ).model_dump()
return Response(data=httpResData, status=status.HTTP_200_OK)
@action(detail=False, methods=["post"], url_path="mall_callbakc")
def jsapi支付回调测试接口(self, request: Request) -> Response:
""" 微信支付成功后的回调接口 """
dict_body = request.data
wechat_data支付回调数据 = wechatPay(payment=paymentCategory).callBack回调解密(headers=request.headers,
response_body=dict_body, )
print("\n 🍎 🍏 🍊 🍎 🍏 \n", wechat_data支付回调数据, )
out_trade_no商家侧支付订单号 = pydash.get(obj=wechat_data支付回调数据, path="out_trade_no") # 商家侧的订单号
trade_state_desc = pydash.get(obj=wechat_data支付回调数据, path="trade_state_desc") # 支付回调的支付状态
transaction_id = pydash.get(obj=wechat_data支付回调数据, path="transaction_id")
self.首单自动注册成为推广员(out_trade_no=out_trade_no商家侧支付订单号)
生成商家侧物流的订单号 = f"EMS{ULID()}"
order订单.objects.filter(order支付商家侧订单号=out_trade_no商家侧支付订单号).update(order支付数据=wechat_data支付回调数据,
order支付状态=trade_state_desc,
order物流状态=order订单.order订单choosies物流状态.待揽件.value,
order物流订单号=生成商家侧物流的订单号,
order支付微信官方订单号=transaction_id,
)
print("打印一下商家的订单号", out_trade_no商家侧支付订单号, transaction_id)
(miniUser积分(share分享者unionidID="", click点击者unionidID="")
.add添加好友助力下单返利积分(order支付商家侧订单号=out_trade_no商家侧支付订单号, share积分类型="好友下单"))
ems邮政物流工具().生成运单(out_trade_no商家侧支付订单号=out_trade_no商家侧支付订单号) # 调用方法,生成真实的物流订单号码;
httpResData = BaseResponse(resData=ResData(listData=[""], dictData={"demo": "xiaozizi"}), ).model_dump()
return Response(data=httpResData, status=status.HTTP_200_OK)
业务订单接口ViewSetsViewSetsRouter: DefaultRouter = DefaultRouter()
业务订单接口ViewSetsViewSetsRouter.register(prefix="", viewset=业务订单接口ViewSets, basename="业务订单接口ViewSets")
@@ -0,0 +1,43 @@
from typing import cast
from channels.layers import BaseChannelLayer, get_channel_layer
from rest_framework import status
from rest_framework.decorators import action
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.viewsets import ViewSet
from sixGuoDjango import BaseResponse, ResData
from wechat_项目工具包.EMS中国邮政.ems邮政 import ems邮政物流工具
default_channel_layer = cast(BaseChannelLayer, get_channel_layer(alias="default"))
from functools import wraps
import threading
def sync_lock(lock):
def decorator(fn):
@wraps(fn)
def wrapper(*args, **kwargs):
with lock:
return fn(*args, **kwargs)
return wrapper
return decorator
class 实时更新物流数据ViewSets(ViewSet):
lock = threading.Lock() # 所有请求 共享这一个 lock对象
@sync_lock(lock=lock) # 锁住这个接口所有并发请求,
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="实时更新物流数据")
def 实时更新物流数据(self, request: Request):
"""前端小程序, 物流追踪页面, 左上角 刷新按钮 返回的数据"""
order物流公司订单编号 = request.data.get("order物流公司订单编号", None)
order物流订单号 = request.data.get("order物流订单号", None)
print("实时更新数据请求进来了吗")
ems邮政物流工具().更新物流快递数据(order物流公司订单编号=order物流公司订单编号, order物流订单号=order物流订单号)
httpResData = BaseResponse(resData=ResData(listData=[""], dictData={}), ).model_dump()
return Response(data=httpResData, status=status.HTTP_200_OK)
+42
View File
@@ -0,0 +1,42 @@
from typing import cast
from channels.layers import BaseChannelLayer, get_channel_layer
from rest_framework.decorators import action
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.viewsets import ViewSet
from wechat_项目工具包.微信支付工具包.领优惠券工具包 import stock发送代金券功能
default_channel_layer = cast(BaseChannelLayer, get_channel_layer(alias="default"))
from functools import wraps
import threading
def sync_lock(lock):
def decorator(fn):
@wraps(fn)
def wrapper(*args, **kwargs):
with lock:
return fn(*args, **kwargs)
return wrapper
return decorator
class 小程序发优惠券到钱包接口ViewSets(ViewSet):
lock = threading.Lock() # 所有请求 共享这一个 lock对象
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="生成优惠券")
def 生成优惠券(self, request: Request):
""""""
stock发券数据 = stock发送代金券功能(stock_id_代金券批次号="22512292").send发券并返回前端需要的数据()
# 4. 生成签名
return Response(data=stock发券数据)
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="返回当前券的状态")
def 返回当前券的状态(self, request: Request):
pass
return Response(data={})
+82
View File
@@ -0,0 +1,82 @@
from typing import cast
from channels.layers import BaseChannelLayer, get_channel_layer
from django.forms import model_to_dict
from rest_framework import status
from rest_framework.decorators import action
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.viewsets import ViewSet
from sixGuoDjango import BaseResponse, ResData
from wechat_数据库.洗衣液商品数据库.六果洗衣液商品 import Goods
from wechat_项目工具包.数据库的工具包.更新用户积分 import miniUser积分
default_channel_layer = cast(BaseChannelLayer, get_channel_layer(alias="default"))
from functools import wraps
import threading
def sync_lock(lock):
def decorator(fn):
@wraps(fn)
def wrapper(*args, **kwargs):
with lock:
return fn(*args, **kwargs)
return wrapper
return decorator
class 添加积分接口ViewSets(ViewSet):
"""接口添加的:都是前端用户,分享后,添加的积分,(没有下单,赢免单,等积分的添加)"""
lock = threading.Lock() # 所有请求 共享这一个 lock对象
# @sync_lock(lock=lock) # 锁住这个接口所有并发请求,
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="添加每日签到奖励")
def 添加每日签到奖励(self, request: Request):
""""""
self_mini_openid = request.data.get("self_mini_openid", None)
self_mini_unionid = request.data.get("self_mini_unionid", None)
print('每日签到接口', self_mini_openid, self_mini_unionid)
miniUser积分(share分享者unionidID=self_mini_unionid, click点击者unionidID=self_mini_unionid).add添加每日积分(share积分类型="每日签到", share分享者积分值=50)
httpResData = BaseResponse(resData=ResData(listData=[""], dictData={}), ).model_dump()
return Response(data=httpResData, status=status.HTTP_200_OK)
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="通知好友积分添加")
def 通知好友积分添加(self, request: Request):
pass
self_mini_openid = request.data.get("self_mini_openid", None)
self_mini_unionid = request.data.get("self_mini_unionid", None)
share分享者_unionid = request.data.get("share分享者_unionid", None)
miniUser积分(share分享者unionidID=share分享者_unionid, click点击者unionidID=self_mini_unionid).add添加通知好友积分(share积分类型="发券奖励", share分享者积分值=10)
return Response(data={})
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="添加好物推荐积分")
def 添加好物推荐积分(self, request: Request):
"""这里是前端用,分享了商品详情页面的 商品数据"""
pass
self_mini_openid = request.data.get("self_mini_openid", None)
self_mini_unionid = request.data.get("self_mini_unionid", None)
share分享者_unionid = request.data.get("share分享者_unionid", None)
share分享的商品ID = request.data.get("share分享的商品ID", None)
miniUser积分(share分享者unionidID=share分享者_unionid, click点击者unionidID=self_mini_unionid).add添加用户分享商品推荐的积分(
share积分类型="好物推荐", share分享者积分值=10, share分享的商品ID=share分享的商品ID,
)
currend当前商品的数据 = Goods.objects.get(idKey=share分享的商品ID) # 拿到当前分享的商品ID,返回给前端,前端用户点击后,会直接进入分享页面
data = model_to_dict(instance=currend当前商品的数据, fields=None, exclude=None)
return Response(data=data)
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="添加小程序分享积分")
def 添加小程序分享积分(self, request: Request):
pass
self_mini_openid = request.data.get("self_mini_openid", None)
self_mini_unionid = request.data.get("self_mini_unionid", None)
share分享者_unionid = request.data.get("share分享者_unionid", None)
print(share分享者_unionid, self_mini_unionid, self_mini_openid)
miniUser积分(share分享者unionidID=share分享者_unionid, click点击者unionidID=self_mini_unionid).add添加小程序推荐积分(
share分享者积分值=10, share积分类型="小程序推荐",
)
return Response(data={})
+47
View File
@@ -0,0 +1,47 @@
from typing import cast
from channels.layers import BaseChannelLayer, get_channel_layer
from rest_framework import status
from rest_framework.decorators import action
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.viewsets import ViewSet
from sixGuoDjango import BaseResponse, ResData
from wechat_数据库.支付订单数据库.商品订单数据 import order订单
default_channel_layer = cast(BaseChannelLayer, get_channel_layer(alias="default"))
from functools import wraps
import threading
def sync_lock(lock):
def decorator(fn):
@wraps(fn)
def wrapper(*args, **kwargs):
with lock:
return fn(*args, **kwargs)
return wrapper
return decorator
class 用户评价ViewSets(ViewSet):
lock = threading.Lock() # 所有请求 共享这一个 lock对象
@sync_lock(lock=lock) # 锁住这个接口所有并发请求,
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="用户发起评价")
def 用户发起评价(self, request: Request):
""""""
self_mini_openid = request.data.get("self_mini_openid", None)
self_mini_unionid = request.data.get("self_mini_unionid", None)
order物流订单号 = request.data.get("order物流订单号", None)
order物流公司订单编号 = request.data.get("order物流公司订单编号", None)
order订单.objects.filter(order物流订单号=order物流订单号, order物流公司订单编号=order物流公司订单编号).update(
order物流状态="已评价",
)
订单查询列表 = order订单.objects.filter(order支付者openid=self_mini_openid, order支付状态="支付成功").values()
httpResData = BaseResponse(resData=ResData(listData=订单查询列表, dictData={}), ).model_dump()
return Response(data=httpResData, status=status.HTTP_200_OK)
+102
View File
@@ -0,0 +1,102 @@
from typing import cast
import pydash
from channels.layers import BaseChannelLayer, get_channel_layer
from rest_framework.decorators import action
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.viewsets import ViewSet
from ulid import ULID
from wechat_微信支付证书.江苏六果科技有限公司支付证书.江苏六果科技有限公司支付参数 import sixpay六果科技公司
from wechat_数据库.用户数据库.小程序积分数据库 import share积分表
from wechat_项目工具包.微信支付工具包.微信支付类 import paymentCategory, wechatPay
from wechat_项目工具包.数据库的工具包.更新用户积分 import miniUser提现状态
default_channel_layer = cast(BaseChannelLayer, get_channel_layer(alias="default"))
from functools import wraps
import threading
def sync_lock(lock):
def decorator(fn):
@wraps(fn)
def wrapper(*args, **kwargs):
with lock:
return fn(*args, **kwargs)
return wrapper
return decorator
class 积分提现ViewSets(ViewSet):
lock = threading.Lock() # 所有请求 共享这一个 lock对象
@sync_lock(lock=lock) # 锁住这个接口所有并发请求,
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="发起提现")
def 前端用户发起可提现积分事件(self, request: Request):
""""""
self_mini_openid = request.data.get("self_mini_openid", None)
self_mini_unionid = request.data.get("self_mini_unionid", None)
print("用户发起了积分提现在的功能了", self_mini_unionid)
# 通地 self_mini_unionid 查询 这个就是分享者的ID
share支付订单商家侧的订单号 = f"{ULID()}"
可提现在的数据 = share积分表.objects.filter(share分享者unionid=self_mini_unionid, share积分是否可以提现的状态=miniUser提现状态().可提现)
print(len(可提现在的数据))
transferAccountsBody = {
"appid": sixpay六果科技公司.appid, "out_bill_no": share支付订单商家侧的订单号, # 必填 integer【商户单号】
# 商户系统内部的商家单号,要求此参数只能由数字、大小写字母组成,在商户系统内部唯一
"transfer_scene_id": "1000",
# 必填 integer【转账场景ID】 该笔转账使用的转账场景,可前往“商户平台-产品中心-商家转账”中申请。如:1000(现金营销),1006(企业报销)等
# "openid":"ohQkD7A-N93kljcFmkCyG6e_D9vg",
"openid": self_mini_openid, # 必填 integer【收款用户OpenID】 用户在商户appid下的唯一标识。发起转账前需获取到用户的OpenID,获取方式详见参数说明。
# "user_name":"757b340b45ebef5467rter35gf464344v3542sdf4t6re4tb4f54ty45t4yyry45", # 【收款用户姓名】
# 收款方真实姓名。需要加密传入,支持标准RSA算法和国密算法,公钥由微信侧提供。
"transfer_amount": 10, # 必填 integer【转账金额】 转账金额单位为“分”。
"transfer_remark": "新会员开通有礼", # 必填 string(32)【转账备注】 转账备注,用户收款时可见该备注信息,UTF8编码,最多允许32个字符
"notify_url": "https://six.sixgou.com/wechat_mini/积分提现/积分提现回调/", # 选填【通知地址】 异步接收微信支付结果通知的回调地址,通知url必须为公网可访问的URL,必须为HTTPS,不能携带参数。
"user_recv_perception": "现金奖励", # 选填 【用户收款感知】 用户收款时感知到的收款原因将根据转账场景自动展示默认内容。如有其他展示需求,
# 必填 array[TransferSceneReportInfo] 【转账场景报备信息】 各转账场景下需报备的内容,商户需要按照所属转账场景规则传参,详见转账场景报备信息字段说明。
"transfer_scene_report_infos": [
{
"info_type": "活动名称", # 必填 string(15)【信息类型】 不能超过15个字符,商户所属转账场景下的信息类型,此字段内容为固定值
"info_content": "新人红包", # 必填 【信息内容】 不能超过32个字符,商户所属转账场景下的信息内容,商户可按实际业务场景自定义传参
},
{
"info_type": "奖励说明", "info_content": "新人红包",
},
],
}
wechat_data提现返回数据 = wechatPay(payment=paymentCategory).transferAccounts商家转账到零钱(transferAccountsBody=transferAccountsBody)
print(wechat_data提现返回数据)
share支付微信侧返回的提现状态 = pydash.get(obj=wechat_data提现返回数据, path="state")
share支付微信侧提现订单号 = pydash.get(obj=wechat_data提现返回数据, path="transfer_bill_no")
share支付微信侧提现订单号 = pydash.get(obj=wechat_data提现返回数据, path="out_bill_no")
share发起提现的时间 = pydash.get(obj=wechat_data提现返回数据, path="create_time")
share提现的数据package_info = pydash.get(obj=wechat_data提现返回数据, path="package_info")
arry = [{"age": 100}, {"age": 200}, {"age": 300}, {"age": 400}]
sum_limit = 900
result = []
total = 0
for item in arry:
if total + item["age"] <= sum_limit:
result.append(item)
total += item["age"]
else:
break
print(result)
return Response(data=result)
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="积分提现回调")
def 添加商品数据(self, request: Request):
pass
提现返回数据 = wechatPay(payment=paymentCategory).callBack回调解密(headers=request.headers, response_body=request.data)
print(提现返回数据)
return Response(data={})
+92
View File
@@ -0,0 +1,92 @@
from datetime import datetime
from typing import cast
from channels.layers import BaseChannelLayer, get_channel_layer
from django.db.models import Case, Count, IntegerField, Sum, When
from rest_framework.decorators import action
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.viewsets import ViewSet
from wechat_数据库.用户数据库.小程序积分数据库 import share积分表
from wechat_项目工具包.数据库的工具包.更新用户积分 import miniUser提现状态
default_channel_layer = cast(BaseChannelLayer, get_channel_layer(alias="default"))
from functools import wraps
import threading
def sync_lock(lock):
def decorator(fn):
@wraps(fn)
def wrapper(*args, **kwargs):
with lock:
return fn(*args, **kwargs)
return wrapper
return decorator
class 积分查询接口ViewSets(ViewSet):
lock = threading.Lock() # 所有请求 共享这一个 lock对象
@sync_lock(lock=lock) # 锁住这个接口所有并发请求,
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="统计积分查询")
def 统计积分查询(self, request: Request):
""""""
"""这里查询的数据,用于在商品详情页面 显示的 点击次数+累计积分总和"""
pass
self_mini_openid = request.data.get("self_mini_openid", None)
self_mini_unionid = request.data.get("self_mini_unionid", None, ) # 这里的查询者,就是积分表中的分享者
查询当前用户是否有记录结果 = share积分表.objects.filter(share分享者unionid=self_mini_unionid, ).exists()
if 查询当前用户是否有记录结果 is False:
pass
return Response(data={"share分享者unionid": self_mini_unionid, "share总积分": 0, "share分享点击人数": 0, "share不可提现积分": 0, "share已提现积分": 0}, )
else:
xiaozizidata = (
share积分表.objects
.filter(share分享者unionid="oy4Jw6P1FnuTNF-hSoJHNztSAoQ0")
.aggregate(
share总积分=Sum("share分享者积分值"),
share可提现积分=Sum(
Case(
When(share积分是否可以提现的状态=miniUser提现状态().可提现, then="share分享者积分值"),
default=0,
output_field=IntegerField()
)
),
share不可提现积分=Sum(
Case(
When(share积分是否可以提现的状态=miniUser提现状态().不可提现, then="share分享者积分值"
),
default=0,
output_field=IntegerField()
)
),
share已提现积分=Sum(
Case(
When(share积分是否可以提现的状态="已提现", then="share分享者积分值"
),
default=0,
output_field=IntegerField()
)
),
share点击次数=Count("id_主键")
)
)
xiaozizidata["unionid"] = self_mini_unionid
print(xiaozizidata)
return Response(data=xiaozizidata)
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="查询当前用户积列详情列表数据")
def 查询当前用户积列详情列表数据(self, request: Request):
"""本接口处理的: 当用户进入积分详情页面时候, 返回给当前用户所有的积分列表详情"""
pass
self_mini_openid = request.data.get("self_mini_openid", None)
self_mini_unionid = request.data.get("self_mini_unionid", None)
当前的月份 = datetime.now().month
shareDaat = share积分表.objects.filter(share分享者unionid=self_mini_unionid, ).order_by("-dateAndTime").values()
return Response(data=shareDaat)
+48
View File
@@ -0,0 +1,48 @@
from typing import cast
from channels.layers import BaseChannelLayer, get_channel_layer
from rest_framework import status
from rest_framework.decorators import action
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.viewsets import ViewSet
from sixGuoDjango import BaseResponse, ResData
from wechat_数据库.用户数据库.小程序登陆用户 import weiuser
default_channel_layer = cast(BaseChannelLayer, get_channel_layer(alias="default"))
from functools import wraps
import threading
def sync_lock(lock):
def decorator(fn):
@wraps(fn)
def wrapper(*args, **kwargs):
with lock:
return fn(*args, **kwargs)
return wrapper
return decorator
class 项目初始化功能接口ViewSets(ViewSet):
lock = threading.Lock() # 所有请求 共享这一个 lock对象
@sync_lock(lock=lock) # 锁住这个接口所有并发请求,
@action(detail=False, methods=["get", "post", "put", "delete"], url_path="初始化")
def 只用于初始化项目测试接口(self, request: Request):
""""""
six六果对象xiao, six是否新创建值 = weiuser.objects.update_or_create(unionid="六果",
defaults={
"user_IP地址": None, "user_昵称": "六果", "user_用户当前的等级": 0, "user_省份": "六果", "user_城市": "六果", "user_区县": "六果",
"user_街道信息": "六果", "user_头像": "https://hudie.xiao.band/%E6%9C%AA%E5%91%BD%E5%90%8D.png", "user_绑定企微usrID账号": "六果", "user_角色权限": "六果", "external_userid": "六果",
"parent_id": "六果", "mini_openid": "wxf612e825377328f0", "wechat_openid": "六果", "wecom_openid": "wwbe6369dc26a9d83a", "codeConfigId": "六果", "codeRemark": "六果",
"codeQrCode": "https://hudie.xiao.band/mini.jpg",
"user_企微角色权限": "六果", "user_绑定企微UNIONID": "六果"
})
httpResData = BaseResponse(resData=ResData(listData=[""], dictData={}), ).model_dump()
return Response(data=httpResData, status=status.HTTP_200_OK)
View File
+38
View File
@@ -0,0 +1,38 @@
"""配置文件"""
# broker_url = "redis://default:com792282@127.0.0.1:6379/5"
# result_backend = "redis://:com792282@127.0.0.1:6379/6"
# result_backend = "django-db" # 任务结果存储数据库:这里默认是存储到数据库中
CELERY_BROKER_CONNECTION_RETRY_ON_STARTUP = True
# 用于设置单个任务的最大允许执行时间(单位通常是秒)。当 Celery Worker 执行的任务耗时超过这个设定值时,Celery将会强制终止该任务的执行。这个机制可以防止某个任务无限期地运行下去,从而可能导致Worker阻塞无法处理新的任务。
CELERY_TASK_TIME_LIMIT = 30 * 60
timezone = "Asia/Shanghai" # 时区:与 django 使用相同的时区;
# 这个配置项设置了Celery在发布任务和存储任务结果时使用的序列化器。当Celery Worker从Broker接收任务并将任务结果返回到Broker时,都会用到这个序列化器。在您给出的配置中,CELERY_TASK_SERIALIZER = "json" 表明任务将以JSON格式进行序列化。JSON是一种轻量级的数据交换格式,易于阅读和编写,同时也便于不同语言之间的解析。
task_serializer = "json"
# 此配置项定义了Celery Worker所接受的任务消息内容类型(MIME类型)。换句话说,只有在这个列表中的内容类型的任务消息,Celery Worker才会接受并尝试去执行。在您给出的配置中,CELERY_ACCEPT_CONTENT = ['json']
# 表示Worker仅接受以JSON格式序列化的任务消息。这与CELERY_TASK_SERIALIZER配置相呼应,确保系统内部的一致性,即发布的任务消息和接收的任务消息都采用相同的序列化格式。
accept_content = [ "json" ]
# CELERY_BEAT_SCHEDULER = "django_celery_beat.schedulers:DatabaseScheduler"
# 下面的语法是实现 定时作务的; USE_TZ
# DJANGO_CELERY_BEAT_TZ_AWARE = False # 一定要配置,否则会报mysql不支持的时间设置
# CELERY_BEAT_SCHEDULER = "django_celery_beat.schedulers:DatabaseScheduler" # 默认配置
# CELERY_BEAT_SCHEDULE = {
# "add_demo_event_one_hours": {
# "task": "django_celery.scheduledUpdatestoken.tasks.updateToken",
# "schedule": timedelta( seconds=60 )
# },
#
# }
"""
django_celery_beat.models.ClockedSchedule # 此模型存放已经关闭的任务
django_celery_beat.models.CrontabSchedule # cron的时间表
django_celery_beat.models.IntervalSchedule # 以特定间隔(例如,每5秒)运行的计划。以特定时间间隔(例如每 5 秒)运行的计划。
django_celery_beat.models.PeriodicTask # 此模型定义要运行的单个周期性任务。
django_celery_beat.models.PeriodicTasks # 此模型仅用作索引以跟踪计划何时更改
django_celery_beat.models.SolarSchedule # 定制任务
from django_celery_beat.models import PeriodicTask, CrontabSchedule 包含 cron 中的条目等字段的计划:分钟、小时、星期几、day_of_month month_of_year。
import json
"""
+152
View File
@@ -0,0 +1,152 @@
"""
Celery 启动入口文件 - 必须放在最顶层
"""
import os
import django
from sixGuoDjango.settings import BASE_DIR
os.environ.setdefault( key="DJANGO_SETTINGS_MODULE", value=f"{BASE_DIR.name}.settings" )
django.setup( )
import orjson
from kombu import Queue, Exchange
from kombu.serialization import register
from celery import Celery, signals
# redis_url = os.environ.get("REDIS_URL")
redis_url = "127.0.0.1:6379"
# redis_url = f"{REDIS_IP}:6379"
# 作用就是:需要加载一个django项目的配置文件# 为"芹菜"程序设置默认的Django设置模块。;
# app.conf.beat_schedule = {
app = Celery(
main="django_celery",
broker=f"redis://default:com792282@{redis_url}/9",
backend=f"redis://default:com792282@{redis_url}/8", # 存储数据库
namespace="CELERY", # 作用:配置前缀(如 "CELERY"),用于从 settings 中提取配置。Django 中默认为 "CELERY"
task_queues=[
Queue( name="xiao_queue", routing_key="xiao_queue", exchange=Exchange( name="xiao_queue", type="direct" ) ),
Queue( name="celery", routing_key="celery", exchange=Exchange( name="celery", type="direct" ) ), # 添加默认队列
],
# 作用:预定义队列列表(kombu.Queue对象)
worker_cancel_long_running_tasks_on_connection_loss=True, ## 默认,保持任务完整性
# task_acks_late=True, # 任务确认延迟
task_time_limit=60, # 任务硬性时间限制(以秒为单位)。超过此限制后,正在处理该任务的 worker 将被终止并由新的 worker 替换
# 关键配置:指定xiao_queue队列只使用一个worker+可选:确保每个任务由独立worker处理
worker_max_tasks_per_child=100, # 每个子进程执行多少任务后自动重启,防止内存泄漏。
worker_prefetch_multiplier=1, ## 每个 worker 一次只取 1 个任务(避免长任务阻塞)
)
app.conf.update(
timezone="Asia/Shanghai",
enable_utc=False,
task_serializer="utf8json",
result_serializer="utf8json",
accept_content=[ "json", "utf8json" ],
)
json_dumps = lambda obj: orjson.dumps( obj ).decode( )
json_loads = lambda obj: orjson.loads( obj )
# 注册自定义 JSON 序列化器
register( name="utf8json", encoder=json_dumps, decoder=json_loads, content_type="application/json",
content_encoding="utf-8" )
app.autodiscover_tasks(
packages=[
"django_celery.message",
"django_celery.xiao_queue队列",
],
)
#
import logging
logger = logging.getLogger( __name__ )
# @task_prerun.connect
# def log_task_queue( sender=None, task_id=None, task=None, args=None, kwargs=None, **kwds ):
# """
# :param sender:
# :type sender:
# :param task_id:
# :type task_id:
# :param task:
# :type task:
# :param args:
# :type args:
# :param kwargs:
# :type kwargs:
# :param kwds:
# :type kwds:
# """
# # 正确方式:从 request.delivery_info 获取实际消费的队列(即 routing_key)
# delivery_info = current_task.request.delivery_info
# queue_name = delivery_info.get( "routing_key", "unknown" ) if delivery_info else "unknown"
# logger.warning( f"[QUEUE DEBUG] Task {task.name}[{task_id}] is running from queue: {queue_name}" )
#
"""
# Worker1:只处理 xiao_queue,使用 1 个进程
celery -A django_celery.main worker -Q xiao_queue --concurrency=10 -n worker_xiao
# Worker2:处理其他队列,使用 9 个进程
celery -A django_celery.main worker -Q celery --concurrency=1 -n worker_default
worker_xiao:指定的线程名称, -Q 指定的队列的名称(--queue) -A指定app(--app) --concurrency=1(指定的数量进程或者线程) -P threads(指定使用线程) -n(--hostname)给进程或者线程取个指定的名称
celery -A django_celery.main worker -Q xiao_queue --concurrency=100 -P threads -n worker_xiao -E (推荐:最合适的启动线程)
celery -A django_celery.main worker -Q xiao_queue --concurrency=1 -P prefork -n worker_xiao (不推荐配置不够强大进程)
celery -A django_celery.main worker -Q sql_queue --concurrency=1 -P prefork -n worker_sql (不推荐配置不够强大进程)
celery -A django_celery.main worker -Q xiao_queue --concurrency=3000 -P eventlet -n worker_xiao (这里启动的是协程)
celery -A django_celery.main worker -Q xiao_queue --concurrency=3000 -P gevent -n worker_xiao (不推荐,协程,需要猴子协议)
celery --app django_celery.main worker --pool=threads --concurrency=10
"""
# ========== 使用Celery信号系统 ==========
@signals.worker_shutdown.connect
def on_worker_shutdown( sender=None, **kwargs ):
"""Celery worker关闭时的回调"""
print( "\n🚀 Celery Worker正在优雅关闭..." )
print( "1. 保存任务状态..." )
print( "2. 关闭数据库连接..." )
print( "3. 清理临时文件..." )
@signals.worker_ready.connect
def on_worker_ready( sender=None, **kwargs ):
"""Worker启动完成时的回调"""
# 打印所有已注册任务
print( "=== 已注册任务 ===" )
for name in sender.app.tasks.keys( ):
if not name.startswith( 'celery.' ):
print( f" {name}" )
if __name__ == '__main__':
pass
+60
View File
@@ -0,0 +1,60 @@
"""注释"""
import requests
from celery import Task
from channels.layers import get_channel_layer
from django_celery.main import app
from wechat_token.token工具包 import sixToken
from wechat_数据库.支付订单数据库.商品订单数据 import order订单
from wechat_项目工具包.小程序交易管理服务.小程序交易订单管理工具 import miniTransaction交易管理服务工具
channel_layer = get_channel_layer()
import logging
logger = logging.getLogger(__name__)
# 这是任务执行成功后的回调监听函数;(使用方法: 只需要在调用任务的时候添加属性 link=函数名.s() )
@app.task(bind=True)
def on_success_callback(self: Task, result, *args, **kwargs):
"""这是任务执行成功后的回调监听函数"""
# 在这里实现你的回调逻辑
print("成功地回调")
task_name = self.name
# 获取触发回调的任务ID
task_id = self.request.id
print(self.request.parent_id) # 这个参数非常重要,是执行任务的🆔(可以知道是哪个任务的回调)
print(f"任务 {task_name} (ID: {task_id}) 执行成功,回调函数已触发")
class MyCustomTask(Task):
"""注释"""
def on_success(self, retval, task_id, args, kwargs):
""" 任务执行成功,回调函数打印返回值 """
# 在任务成功执行后运行的逻辑
# logger.info( f"任务 {task_id} 成功: {retval}" )
pass
def on_retry(self, exc, task_id, args, kwargs, einfo):
""" 在任务重试后运行的逻辑 """
pass
def on_failure(self, exc, task_id, args, kwargs, einfo):
"""参数"""
# 在任务执行失败后运行的逻辑
pass
@app.task(base=MyCustomTask, bind=True)
def mini调用微信小程序交易管理服务录入订单接口(self: Task,order支付商家侧订单号, **kwargs, ):
"""执行这个任务,:会自动打印回调"""
# 任务完成后,往前端发消息 print("任务执行了")
# TODO my_task.apply_async( kwargs={ "name": "这里是传递的名称的值" }, queue="xiao_queue", )
# 根据订单号: 对运单接口发起生成运单的物流信息
print("\n🍎 🍏 🍊 🍎 🍏 🍊 🍎 🍏 🍊 到底调用了没有呀", )
miniTransaction交易管理服务工具().发货信息录入(order支付商家侧订单号=order支付商家侧订单号)
+61
View File
@@ -0,0 +1,61 @@
"""注释"""
from celery import Task
from django_celery.main import app
import logging
from wechat_数据库.雪花算法.雪花算法工具 import generator
logger = logging.getLogger(__name__)
# 这是任务执行成功后的回调监听函数;(使用方法: 只需要在调用任务的时候添加属性 link=函数名.s() )
@app.task(bind=True)
def on_success_callback(self: Task, result, *args, **kwargs):
"""这是任务执行成功后的回调监听函数"""
# 在这里实现你的回调逻辑
print("成功地回调")
task_name = self.name
# 获取触发回调的任务ID
task_id = self.request.id
print(self.request.parent_id) # 这个参数非常重要,是执行任务的🆔(可以知道是哪个任务的回调)
print(f"任务 {task_name} (ID: {task_id}) 执行成功,回调函数已触发")
class MyCustomTaskMessages(Task):
"""注释"""
def on_success(self, retval, task_id, args, kwargs):
""""""
# 在任务成功执行后运行的逻辑
# logger.info( f"任务 {task_id} 成功: {retval}" )
pass
# print( retval )
def on_retry(self, exc, task_id, args, kwargs, einfo):
""""""
# 在任务重试后运行的逻辑
pass
def on_failure(self, exc, task_id, args, kwargs, einfo):
""""""
pass
# 只记录,不要 raise 非法对象!
print(f"Task failed: {exc}")
# 不要在这里 raise 任何东西,除非是合法异常
@app.task(base=MyCustomTaskMessages, bind=True, queue="xiao_queue", retry_kwargs={'max_retries': 5}, retry_backoff=True, )
def taskMessages(self, xiaoziziname, **kwargs):
""""""
try:
pass
auto_str = generator.generate_str()
print("成功了", auto_str, xiaoziziname)
return ""
except Exception as e:
pass
print(e)
return e
+32
View File
@@ -0,0 +1,32 @@
from django.core.handlers.wsgi import WSGIRequest
from rest_framework import status
from rest_framework.decorators import action
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.routers import DefaultRouter
from rest_framework.viewsets import ViewSet
from django_celery.xiao_queue队列.tasks import taskMessages
from sixGuoDjango import BaseResponse, ResData
class Celery测试接口ViewSets( ViewSet ):
@action( detail=False, methods=[ "get", "post", "put", "delete" ], url_path="test" )
def 测试路由接口( self, request: WSGIRequest | Request ):
""""""
taskMessages.delay( token="alkdsfjal;d" )
taskMessages.apply_async( kwargs={ 'token': 'your_token' }, )
httpResData = BaseResponse( resData=ResData( listData=[ "" ], dictData={ "demo": "xiaozizi" } ), ).model_dump( )
return Response( data=httpResData, status=status.HTTP_200_OK )
Celery测试接口ViewSetsRouter = DefaultRouter( )
Celery测试接口ViewSetsRouter.register( prefix="", viewset=Celery测试接口ViewSets, basename="" )
+79
View File
@@ -0,0 +1,79 @@
"""注释"""
# consumers.py
# 推荐解决方案:事件驱动架构
# 修改实现为事件驱动模式:
import asyncio
import json
import time
from channels.generic.http import AsyncHttpConsumer
# 全局消息队列 (生产环境用Redis等分布式队列)
MESSAGE_QUEUE = asyncio.Queue()
class SSEConsumer(AsyncHttpConsumer):
async def handle(self, body):
# 设置SSE响应头
await self.send_headers(
headers=[
(b"Content-Type", b"text/event-stream"),
(b"Cache-Control", b"no-cache"),
(b"Connection", b"keep-alive"),
]
)
# 事件循环监听
while True:
# 异步等待新消息(挂起状态)
data = await MESSAGE_QUEUE.get()
# 推送消息给客户端
await self.send_body(f"event: message\ndata: {data}\n\n".encode())
async def disconnect(self):
# 客户端断开时清理资源
print(f"Client {self.scope['client']} disconnected")
# 其他Django视图或后台任务中
# 生产者触发更新示例
async def trigger_update():
"""模拟外部事件触发更新"""
# 创建新消息
message = {"time": time.time(), "event": "DataUpdated"}
# 将消息推送到全局队列
await MESSAGE_QUEUE.put(json.dumps(message))
# 测试代码
async def xiaozizi():
"""从队列中获取消息并打印"""
print("等待消息...")
d = await MESSAGE_QUEUE.get()
print(f"收到消息: {d}")
return d
# 在脚本末尾添加(如果需要测试)
async def main():
"""主测试函数"""
print("开始测试...")
# 启动一个任务来监听消息
listen_task = asyncio.create_task(xiaozizi())
# 稍等一下再发送消息,确保监听任务已经启动
await asyncio.sleep(0.1)
# 发送测试消息
# await trigger_update()
# 等待监听任务完成
result = await listen_task
print(f"测试完成,结果: {result}")
if __name__ == "__main__":
asyncio.run(main())
View File
+43
View File
@@ -0,0 +1,43 @@
"""2"""
import pydash
from asgiref.sync import async_to_sync
from sixGuoDjango import RedisClientManager
redia_socket_5 = RedisClientManager().get_client(db_name="redis_5")
"""consumers"""
import orjson
from channels.generic.websocket import WebsocketConsumer
class ChatConsumer(WebsocketConsumer):
def connect(self):
print("连接请求进来了", self.channel_name)
room_id = pydash.get(obj=self.scope, path="url_route.kwargs.room_id")
self.accept() # 接受连接
redia_socket_5.set(name=room_id, value=self.channel_name)
# self.channel_layer.group_add(group="demo_name", channel=self.channel_name)
async_to_sync(self.channel_layer.group_add)(group="demo_name", channel=self.channel_name)
async_to_sync(self.channel_layer.group_add)(group="demo_xiaozizi", channel=self.channel_name)
def receive(self, text_data=None, bytes_data=None):
# text_data 已经是字符串,直接使用
if text_data == "ping":
self.send(text_data=orjson.dumps({"type": "监听心跳", "text": {"xiao": "xiaozizi"}},
option=orjson.OPT_SORT_KEYS).decode(encoding="utf-8"))
else:
# 处理其他消息
# print("判断生成了哟", text_data)
self.send(text_data=orjson.dumps({"type": "chat_msg", "text": {"xiao": "xiaozizi"}},
option=orjson.OPT_SORT_KEYS).decode(encoding="utf-8"))
def disconnect(self, code):
room_id = pydash.get(obj=self.scope, path="url_route.kwargs.room_id") # 断开连接后可以拿到参数
print("连接断开,code:", code, room_id)
async_to_sync(self.channel_layer.group_discard)(group="demo_name", channel=self.channel_name)
async_to_sync(self.channel_layer.group_discard)(group="demo_xiaozizi", channel=self.channel_name)
def update_更新用户头像(self, event):
self.send(text_data=orjson.dumps(event, option=orjson.OPT_SORT_KEYS).decode(encoding="utf-8"))
+37
View File
@@ -0,0 +1,37 @@
# routing.py
"""
ASGI config for django_cat project.
It exposes the ASGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/5.1/howto/deployment/asgi/
"""
from sixGuoDjango.settings import BASE_DIR
"""asgi路由"""
import os
os.environ.setdefault(key='DJANGO_SETTINGS_MODULE', value=f"{BASE_DIR.name}.settings")
from django.core.asgi import get_asgi_application
from channels.routing import ProtocolTypeRouter, URLRouter
from django_channels import consumers, tableConsumer
from django.urls import path
application = ProtocolTypeRouter(
{
"http": get_asgi_application(), # 如果处理http请求就走这里
"websocket": URLRouter(
[
# re_path(r'room/(?P<group>\w+)/$', consumers.ChatConsumer.as_asgi()),
path(route="room/", view=consumers.ChatConsumer.as_asgi()), # 调用第一个类处理业务
# path("web/<str:params>/", tableConsumer.TableConsumer.as_asgi()), # 调用第二个类处理业务
],
)
},
)
# AllowedHostsOriginValidator:
# 这是一个安全中间件,用于验证WebSocket连接请求的Origin头部是否包含在ALLOWED_HOSTS设置中。
# 这是防止跨站伪造攻击(Cross-Site Request Forgery, CSRF)的一种措施,
# 确保只有来自信任源(通常是应用自己的域名)的WebSocket连接请求才能被接受。
# 如果请求的Origin不在允许列表中,此中间件会拒绝连接。
+101
View File
@@ -0,0 +1,101 @@
import pydash
from asgiref.sync import async_to_sync
from channels.exceptions import StopConsumer
from channels.generic.websocket import JsonWebsocketConsumer
from channels.layers import get_channel_layer
from sixGuoDjango import redis_5
# channel_layer: RedisChannelLayer = get_channel_layer("default")
channel_layer = get_channel_layer(alias="default")
default_group_name = "default_group_name"
class websocket(JsonWebsocketConsumer):
def connect(self) -> None:
"""
首次连拉时触发方法前端请求的语法为 "wss://wecom.fujugongxiang.com/web/room_name_value/"
room_name_value: 就是前端路由配置的room_name的值 path("web/<str:room_name>/", tableConsumer.websocket.as_asgi()),
并且最末尾要带有 / 斜杠
"""
user_openid = self.scope["url_route"]["kwargs"].get("room_name", "")
print("websocket:=>", user_openid, self.channel_name)
if not user_openid:
self.close(code=4001) # 关闭连接(可选)
return
self.accept()
# 将进来的用户保存到redis数据库中
redis_5.set(value=self.channel_name, name=user_openid)
# 将用户添加到自己的组里面 (只能异步,否则添加不成功的)
self.send_json(content={"channel_name": self.channel_name})
async_to_sync(awaitable=self.channel_layer.group_add)(group=default_group_name, channel=self.channel_name)
def disconnect(self, ):
user_openid = self.scope["url_route"]["kwargs"].get("room_name", None)
async_to_sync(self.channel_layer.group_discard)(group=user_openid, channel=self.channel_name, ) # 只能异步的删除;
async_to_sync(self.channel_layer.group_discard)(group=default_group_name, channel=self.channel_name, )
raise StopConsumer()
def receive_json(self, content, **kwargs) -> None:
print(content, "是在这里吗")
# self.send()
self.send_json(content={"xiao": "xiaozizi"})
pass
def chat_messages(self, event) -> None:
"""
:param event:
"""
data = pydash.get(obj=event, path="message")
self.send_json(content="messagemessagemessagemessage")
def chat_subMsg(self, event):
"""
:param event:
:type event:
"""
# 处理消息回调的函数
print("事件没有调用了吗")
self.send_json(content=event)
def chat_hongBao(self, event):
"""
:param event:
:type event:
"""
# 处理首次领红包的业务
user_openid = self.scope["url_route"]["kwargs"].get("room_name", None)
print(user_openid)
print("我得调用一下:chat_hongBao")
channelID = pydash.get(obj=event, path="message.channelID")
self.send_json(content={"chat": "chat_hongBao", })
def chat_Lucky拼团(self, event):
print("socked事件调用幸运拼团数据更新: 🍎 🍏🍎 🍏🍎 🍏🍎 🍏🍎 🍏🍎 🍏🍎 🍏🍎 🍏🍎 🍏🍎 🍏🍎 🍏", event)
self.send_json(content=event)
def commandsSendStr(self, event):
"""
:param event:
:type event:
"""
self.send_json(content={"commands": "demo这是个测试的数据", "type": "commands"})
def chat_demo(self, event):
"""
:param event:
:type event:
"""
print(event, "函数被调用了,")
self.send_json(content={"demo": "demo_test"})
def 消息提示(self, event):
"""事件"""
print(event)
print("这只是个用来测试的方法")
self.send_json(content="这只是个用来测试的方法")
def update_更新用户头像(self, event):
print(event)
+81
View File
@@ -0,0 +1,81 @@
"""注释"""
import pydash
from channels.generic.websocket import AsyncJsonWebsocketConsumer
class websocket(AsyncJsonWebsocketConsumer):
async def connect(self) -> None:
"""
前端请求: wss://wecom.fujugongxiang.com/web/room_name_value/
room_name_value 来自 URL 路径: path("web/<str:room_name>/", websocket.as_asgi())
"""
# 获取 URL 参数
user_openid = self.scope["url_route"]["kwargs"].get("room_name", "")
if not user_openid:
await self.close(code=4001) # 关闭连接(可选)
return
# 接受连接
await self.accept()
# 将用户加入组(异步直接 await)
await self.channel_layer.group_add(group=user_openid, channel=self.channel_name, )
# 返回 channel_name 给前端(可选)
await self.send_json(content={"channel_name": self.channel_name})
async def disconnect(self, close_code) -> None:
"""
断开连接时触发
"""
user_openid = self.scope["url_route"]["kwargs"].get("room_name", "")
if user_openid:
# 从组中移除(异步)
await self.channel_layer.group_discard(group=user_openid, channel=self.channel_name, ) # 自动清理,无需 raise StopConsumer()
async def receive_json(self, content, **kwargs) -> None:
"""
收到前端发来的 JSON 消息
"""
print("收到消息:", content)
# 回显
await self.send_json(content=content)
# 自定义事件处理器(会被 group_send 触发)
async def chat_messages(self, event) -> None:
"""
处理 chat_messages 事件
"""
data = pydash.get(event, "message")
print("chat_messages 收到数据:", data)
await self.send_json(content=data)
async def chat_subMsg(self, event):
"""
处理 subMsg 回调
"""
pass
async def chat_hongBao(self, event):
"""
处理红包事件
"""
print(event, "========== chat_hongBao 被触发 ============")
channel_id = pydash.get(event, "message.channelID")
await self.receive_json(content={"demo": "text"})
async def commandsSendStr(self, event):
"""
发送命令
"""
await self.send_json(content={"commands": "demo这是个测试的数据", "type": "commands"})
async def chat_demo(self, event):
"""
demo 测试事件
"""
print("chat_demo 被调用:", event)
await self.receive_json(content={"demo": "demo_test"})
+45
View File
@@ -0,0 +1,45 @@
import base64
import os
import django
from Crypto.Cipher import PKCS1_OAEP, PKCS1_v1_5
from sixGuoDjango.settings import base_dir_name
os.environ.setdefault( key="DJANGO_SETTINGS_MODULE", value=f"{base_dir_name}.settings" )
django.setup( )
from pathlib import Path
from Crypto.PublicKey import RSA
from django.conf import settings
def jwt_rsa_证书创建( ):
# 生成2048位密钥对
key = RSA.generate( bits=2048 )
#
# 导出私钥(PEM格式)
private_key = key.export_key( passphrase=settings.SECRET_KEY )
# print( "私钥:\n", private_key.decode( ) )
# 导出公钥(PEM格式)
public_key = key.publickey( ).export_key( )
Path( settings.BASE_DIR ).joinpath( "django_jwt_token/private.pem" ).write_bytes( data=private_key )
Path( settings.BASE_DIR ).joinpath( "django_jwt_token/public.pem" ).write_bytes( data=public_key )
print( "证书创建成功了" )
if __name__ == "__main__":
# 这里写你的主程序代码
pass
jwt_rsa_证书创建( )
+50
View File
@@ -0,0 +1,50 @@
import os
import django
from sixGuoDjango.settings import base_dir_name
os.environ.setdefault( key="DJANGO_SETTINGS_MODULE", value=f"{base_dir_name}.settings" )
django.setup( )
from datetime import datetime, timedelta, timezone
from pathlib import Path
from Crypto.PublicKey import RSA
from django.conf import settings
from jwt import JWT
from jwt.jwk import jwk_from_pem
from jwt.utils import get_int_from_datetime
# 创建 JWT 实例
instance = JWT( )
# 创建 payload
message = {
'iss': 'my-app',
'sub': 'user123',
'name': '张三',
'role': 'admin',
'iat': get_int_from_datetime( datetime.now( timezone.utc ) ),
'exp': get_int_from_datetime( datetime.now( timezone.utc ) + timedelta( hours=1 ) ),
}
# ✅ 正确:使用私钥进行签名
private_key_pem_私钥 = Path( "private.pem" ).read_bytes( )
私钥对象 = RSA.import_key( extern_key=private_key_pem_私钥, passphrase=settings.SECRET_KEY ).export_key( )
signing_key = jwk_from_pem( pem_content=私钥对象 )
token = instance.encode( message, signing_key, alg='RS256' ) # 注意算法名改为 RS256
print( f"生成的 JWT: {token}" )
# ✅ 正确:使用公钥进行验证
public_key_pem_公钥 = Path( "public.pem" ).read_bytes( )
verifying_key = jwk_from_pem( pem_content=public_key_pem_公钥 )
# 解码验证 JWT
received_message = instance.decode( message=token, key=verifying_key, do_time_check=True )
print( f"解码后的消息: {received_message}" )
+90
View File
@@ -0,0 +1,90 @@
from pathlib import Path
from zoneinfo import ZoneInfo
import pydash
from django.conf import settings
from jwt import JWT, jwk_from_pem
from jwt.exceptions import JWTDecodeError
from jwt.utils import get_time_from_int
from rest_framework import exceptions
from rest_framework.authentication import BaseAuthentication
from rest_framework.response import Response
public_key_pem_公钥 = Path( settings.BASE_DIR ).joinpath( "django_jwt_token/public.pem" ).read_bytes( )
instance = JWT( )
from rest_framework.permissions import BasePermission
from rest_framework.exceptions import AuthenticationFailed
class Jwt权限认证( BasePermission ):
"""自定义JWT认证权限类"""
def has_permission( self, request, view ):
"""
必须实现这个方法,返回 True 表示有权限,False 表示无权限
:param request: 请求对象
:param view: 视图对象
:return: bool
"""
# 获取 token(从 Authorization header 或 cookie)
auth_header = request.headers.get( 'Authorization', '' )
token = request.data.get( "token", None )
Authorization = pydash.get( obj=request.headers, path="Authorization" )
print( "有作用了啦" )
print( "拿到token了吗?", Authorization )
# ✅ 正确:使用公钥进行验证
verifying_key = jwk_from_pem( pem_content=public_key_pem_公钥 )
# 解码验证 JWT
received_message = instance.decode( message=Authorization, key=verifying_key, do_time_check=True )
print( f"解码后的消息: {received_message}" )
def has_object_permission( self, request, view, obj ):
pass
class Jwt身份认证( BaseAuthentication ):
def authenticate( self, request ):
try:
Authorization = request.headers.get( "Authorization", "" )
# ✅ 正确:使用公钥进行验证
verifying_key = jwk_from_pem( pem_content=public_key_pem_公钥 )
# 解码验证 JWT
received_message = instance.decode( message=Authorization, key=verifying_key, do_time_check=True )
过期时间戳 = pydash.get( obj=received_message, path="exp" )
time_过期日间 = get_time_from_int( 过期时间戳 ).astimezone( tz=ZoneInfo( key="Asia/Shanghai" ) )
print( "过期的时间为:", time_过期日间, received_message )
return received_message, time_过期日间,
except exceptions.AuthenticationFailed:
msg = "==============="
raise "认证失败"
except JWTDecodeError as e:
print( '999999999999999999999', str( e ) )
# 如果你想保留原始异常链
raise AuthenticationFailed( f"Token无效: {str( e )}" )
# raise f"Token无效: {str( e )}"
def authenticate_header( self, request ):
pass
"""
返回 HTTP 401 响应时,告诉客户端应该使用哪种认证方式
"""
return 'Bearer'
+30
View File
@@ -0,0 +1,30 @@
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,FDB397A184DB8297
1k9DgnqNjn8QWzEw5AydYPKAAH/a5FQgw5tqNeRxLW7gOqV4ZH1XfY1QsRbHFKXU
i/t0m9gWbI+4VTphdCZPjAp0kHjxCUfsMZqEB6cwGvQ775bLoC002SJACshFOf0R
Aj/QnXPNexZ7gexHGbUnSGa+HMzJRelOBR+MyUiwa5Jq7UAaPlrWnCUIaByUOsHG
ZUqeftabkeV8FagXCy6Izcg+E0eB3TFA/lWxqlKMSVx2bvomS9X/d9f4uxx2Ejv5
9Oc09IKsu2XoHsQibSXTUDhsYEupAP6U+Bp3Yki8LOMusm/ERwV+UQwsitSxD1Gc
NeQnvZhI3acJvJka3KsZaDLm1ErtruY7xPyLOzttiz2np77MSfb2GvXU4RXPCwq6
odmc2SRNmY1b8+2+XRq/lOZHzkbdPQrHm6vd+OfjV5V1+4QQ+721qSCYeLx5lAmz
NRJziMBrF5jW4BNCWiPECT8Z1nMhVl/MJAYhn/zssMuxjJ5umFQCQ7UcvCsBRCc8
2aC2d0Qj/XGhLd92lXv/LcyOgx9YLyw/DdlwORp3H17dW+mMpgJMsRp3BS3Y0nHp
XN4oygsiNpgfDjbttu21A3fWbbFfe63Ef2xcuo4aAC+WpausHRTrK/7xkSRwX2Rm
S5Mc3yCCJ2237zTQi56sHbiFa3fkhP5jx9tJ4/lzFcJ9evlpWL6kjXCKIkzpVr1p
3uPJbw5BvoOZThkEbWmRX1gm+TC1IMWD4sGRN+rpjb9I3nFhvV+2zQBHZRB+lVz/
OhsffGTLbpzIVDs0EsmcpGmV8fVXJ4Ke1Vdy+ebE+ZBVYeTEJI5KyMzakjG+Fl0J
U5YX4NEVxLiF8Sb/B0Mx9h5VqDZHtltHuF2By0ud8C3JjbzvmapxLIqW4UTK47mU
dPTASM/dvUhPHsfiCkNZ1fbwlNzA3j0YSPIF2pZlz5sVKXCFQ1aLUVdYBbJ5AsyP
YHMVFSIT9vFr56YDxZ9f2zPVGo1sCiu/N6sqJdAO93sTN4sRiDiDBay+2W+et4cP
XEjPoDs4Ohxo0MrS74Y0Kxhf81KmjUTIS7uk1AQcpDQoldbN4UgomuLp1okLFBQl
kqS9PC01hTjv2LeC8TnOfzivl/KQtnl3xhzK8ylaSd/5VWUkOcM/Z4jqTTDqaL27
A5FRv2mjm7Ziaw2YjOPKxlXcsieOkbfuWbl3pbot7pg1oG4iwlSJCUcMJJUP4Kmm
bsN4X6JQagouaHj6SVqNWc8EBDQKppebmKUlyzrBPRhlAAZB/9fPoc5w0bCtn8Ne
v67OTQRtRJceY/C9jyhp/C3MXiSQkJ7Dltzko7R8ghIrUS4fRSpj35siUlPRpz7f
+nRlT2zD3D0R5fBl/nEBAA4mWryN2auDO9/54VtvfujUgWJkkNYPdw62l/f72a7V
hq7WQSpWBvo1r71lTpLw2EkZz/joF1FKsdi+1k+K/hP76wvOpwnALGrjvfQEgEQg
AgCA4zVTDHXkZz5tBndAaA2N2tDPfQmDdCv0IxCbvGXD3f861ChsNU5F/MeyE2X7
SHBT1H5mfSU/y4mwf5q9pbBYX/UO0+pnDWlC2TuJiI1fZx25Mjt8Pw==
-----END RSA PRIVATE KEY-----
+9
View File
@@ -0,0 +1,9 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmG+9lzwnpsABxqO00Aqe
it3cOTV2354FmIztL1GOa34odktiiUOJIGY1JhVN3LXt4CaSpCkK6tfSQRXOrF2j
d0QYimN0zIQwJ7GJnzPQynoBJh2O9u6zOMtVkFqG9eafEqaR2lf5Ol1Pu3evUJx0
a6IiIr+hxKJqP6MO73eeriKYV+4V/+jzrn2WJjp3RnM9P1PQ4fCkIAZOLmb9lB/W
sNMaEJs8nab3KJeILv5kLm1wDMYuLzQ3kGtCrQPK6riw9s02hELSWj3Wy1U8ZM8b
QcIv6WGn1Zyhwpos9CDe+sH2D4EejA7wMZoBg4M39GRikK8VKE1nvN1wjQ7eIAGg
fwIDAQAB
-----END PUBLIC KEY-----
@@ -0,0 +1,64 @@
import threading
import time
from datetime import datetime, timedelta
from pathlib import Path
from zoneinfo import ZoneInfo
from Crypto.PublicKey import RSA
from django.conf import settings
from jwt import JWT, jwk_from_pem
from jwt.utils import get_int_from_datetime
from rest_framework import status
from rest_framework.decorators import action
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework.routers import DefaultRouter
from rest_framework.viewsets import ViewSet
private_key_pem_私钥 = Path( settings.BASE_DIR ).joinpath( "django_jwt/private.pem" ).read_bytes( )
class JwtUserViewSets( ViewSet ):
lock = threading.Lock( )
instance = JWT( ) # 创建对象
@action( detail=False, methods=[ "post" ], url_path="login" )
def login( self, request: Request ):
""""""
# 创建 payload
message = {
'iss': 'my-app',
'sub': 'user123',
'name': '张三',
'role': 'admin',
'iat': get_int_from_datetime( datetime.now( tz=ZoneInfo( key="utc" ) ) ), # 生成jwt-token的时间
'exp': get_int_from_datetime( datetime.now( tz=ZoneInfo( key="utc" ) ) + timedelta( hours=1 ) ), # 多长时间过期
}
# ✅ 正确:使用私钥进行签名 (目前我使用的是私钥加密的) (生成钥钥的时候就是加密的私钥)
私钥对象 = RSA.import_key( extern_key=private_key_pem_私钥, passphrase=settings.SECRET_KEY ).export_key( format="PEM" )
signing_key = jwk_from_pem( pem_content=私钥对象 )
token = self.instance.encode( payload=message, key=signing_key, alg='RS256' ) # 注意算法名改为 RS256
print( f"生成的 JWT: {token}" )
return Response( data=token, status=status.HTTP_200_OK, headers={ "Authorization": token, "Access-Control-Allow-Origin": "*" } )
JwtUserViewSetsRouter = DefaultRouter( )
JwtUserViewSetsRouter.register( prefix="", viewset=JwtUserViewSets, basename="JwtUserViewSets" )
@@ -0,0 +1,17 @@
from rest_framework.routers import DefaultRouter
from wechat_wecom_企业微信管理.企微通讯录管理.通讯录管理接口 import 企微员工通讯录管理接口ViewSets
from wechat_wecom_企业微信管理.客户管理.客户管理接口 import 客户管理接口ViewSets
from wechat_wecom_企业微信管理.客服账号管理.客服账号管理接口 import 客服账号管理接口ViewSets
from wechat_wecom_企业微信管理.素材管理.素材管理接口 import 素材管理接口列表ViewSets
from wechat_wecom_企业微信管理.联系我与客户群管理.加入群聊管理接口 import 加入群聊管理ViewSets
from wechat_wecom_企业微信管理.联系我与客户群管理.联系我管理接口 import 联系我管理ViewSets
企业微信管理端接口列表Router = DefaultRouter( )
企业微信管理端接口列表Router.register( prefix="企微客户好友管理", viewset=客户管理接口ViewSets, basename="客户管理接口ViewSets" )
企业微信管理端接口列表Router.register( prefix="chat", viewset=加入群聊管理ViewSets, basename="加入群聊管理ViewSets" )
企业微信管理端接口列表Router.register( prefix="素材管理接口", viewset=素材管理接口列表ViewSets, basename="素材管理接口列表ViewSets" )
企业微信管理端接口列表Router.register( prefix="contact", viewset=联系我管理ViewSets, basename="联系我管理ViewSets" )
企业微信管理端接口列表Router.register( prefix="kefu", viewset=客服账号管理接口ViewSets, basename="客服账号管理接口ViewSets" )
企业微信管理端接口列表Router.register( prefix="员工", viewset=企微员工通讯录管理接口ViewSets, basename="企微员工通讯录管理接口ViewSets" )
@@ -0,0 +1,10 @@
from rest_framework.routers import DefaultRouter
from wechat_mini_服务端接口目录.小程序前端分享页面.主面分享页面接口 import 主页分享页面接口ViewSets
from wechat_mini_服务端接口目录.小程序前端分享页面.商品详情页面分享接口 import 商品详情页面分享接口ViewSets
from wechat_mini_服务端接口目录.小程序前端分享页面.幸运拼团分享接口 import 幸运拼团分享接口ViewSets
小程序前端分享页面Router = DefaultRouter()
小程序前端分享页面Router.register(prefix="home_page", viewset=主页分享页面接口ViewSets, basename="主页分享页面接口ViewSets")
小程序前端分享页面Router.register(prefix="goods_page", viewset=商品详情页面分享接口ViewSets, basename="商品详情页面分享接口ViewSets")
小程序前端分享页面Router.register(prefix="lucky_page", viewset=幸运拼团分享接口ViewSets, basename="幸运拼团分享接口ViewSets")
@@ -0,0 +1,43 @@
from rest_framework.routers import DefaultRouter
from django_app.实时更新物流数据接口 import 实时更新物流数据ViewSets
from django_app.小程序发券接口 import 小程序发优惠券到钱包接口ViewSets
from django_app.添加各类型积分接口 import 添加积分接口ViewSets
from django_app.用户评价接口 import 用户评价ViewSets
from django_app.积分提现接口 import 积分提现ViewSets
from django_app.积分查询管理接口 import 积分查询接口ViewSets
from django_app.项目初始化的接口 import 项目初始化功能接口ViewSets
# from wechat_mini_业务接口目录.用户积分管理业务接口.积分管理业务 import 积分管理ViewSets
from wechat_mini_服务端接口目录.小程序交易管理服务接口列表.发货信息录入 import 发货信息录入ViewSets
from wechat_mini_服务端接口目录.小程序码与小程序链接口列表.ShortLink接口 import ShortLinkViewSets
from wechat_mini_服务端接口目录.小程序码与小程序链接口列表.URLLink接口 import URLLinkViewSets
from wechat_mini_服务端接口目录.小程序码与小程序链接口列表.scheme码接口 import Scheme接口ViewSets
from wechat_mini_服务端接口目录.小程序码与小程序链接口列表.小程序码接口 import 小程序码接口ViewSets
from wechat_mini_服务端接口目录.手机号.获取手机号接口 import 获取手机号ViewSets
from wechat_mini_服务端接口目录.接口调用凭证.获取稳定版接口调用凭据接口 import 获取稳定版接口调用凭据ViewSets
from wechat_mini_服务端接口目录.物流账号邮政.物流账号接口 import EMS物流ViewSets
from wechat_mini_服务端接口目录.用工关系接口列表.用工关系接口 import 用工关系接口ViewSets
from wechat_mini_服务端接口目录.附近小程序.附近小程序接口 import 附近小程序ViewSets
小程序服务端管理接口列表ViewSetsRouter = DefaultRouter()
小程序服务端管理接口列表ViewSetsRouter.register(prefix="nearby_mini_program", viewset=附近小程序ViewSets,
basename="附近小程序ViewSets")
小程序服务端管理接口列表ViewSetsRouter.register(prefix="phone", viewset=获取手机号ViewSets,
basename="获取手机号ViewSets")
小程序服务端管理接口列表ViewSetsRouter.register(prefix="token", viewset=获取稳定版接口调用凭据ViewSets,
basename="获取稳定版接口调用凭据ViewSets")
小程序服务端管理接口列表ViewSetsRouter.register(prefix="ems", viewset=EMS物流ViewSets, basename="EMS物流ViewSets")
小程序服务端管理接口列表ViewSetsRouter.register(prefix="shipment_information_management", viewset=发货信息录入ViewSets,
basename="发货信息录入ViewSets")
小程序服务端管理接口列表ViewSetsRouter.register(prefix="用工关系", viewset=用工关系接口ViewSets, basename="用工关系接口ViewSets")
小程序服务端管理接口列表ViewSetsRouter.register(prefix="qrcode", viewset=小程序码接口ViewSets, basename="小程序码接口ViewSets")
小程序服务端管理接口列表ViewSetsRouter.register(prefix="scheme", viewset=Scheme接口ViewSets, basename="Scheme接口ViewSets")
小程序服务端管理接口列表ViewSetsRouter.register(prefix="link", viewset=URLLinkViewSets, basename="URLLinkViewSets")
小程序服务端管理接口列表ViewSetsRouter.register(prefix="short", viewset=ShortLinkViewSets, basename="ShortLinkViewSets")
小程序服务端管理接口列表ViewSetsRouter.register(prefix="用户评价", viewset=用户评价ViewSets, basename="用户评价ViewSets")
小程序服务端管理接口列表ViewSetsRouter.register(prefix="更新物流", viewset=实时更新物流数据ViewSets, basename="实时更新物流数据ViewSets")
小程序服务端管理接口列表ViewSetsRouter.register(prefix="优惠券", viewset=小程序发优惠券到钱包接口ViewSets, basename="小程序发优惠券到钱包接口ViewSets")
小程序服务端管理接口列表ViewSetsRouter.register(prefix="添加积分接口", viewset=添加积分接口ViewSets, basename="添加积分接口ViewSets")
小程序服务端管理接口列表ViewSetsRouter.register(prefix="积分查询", viewset=积分查询接口ViewSets, basename="积分查询接口ViewSets")
小程序服务端管理接口列表ViewSetsRouter.register(prefix="积分提现", viewset=积分提现ViewSets, basename="积分提现ViewSets")
小程序服务端管理接口列表ViewSetsRouter.register(prefix="项目初始化接口", viewset=项目初始化功能接口ViewSets, basename="项目初始化接口")
@@ -0,0 +1,9 @@
from rest_framework.routers import DefaultRouter
from wechat_mini_服务端接口目录.小程序用户地址定位.小程序用户的位置接口 import 小程序用户的位置接口ViewSets
from wechat_mini_服务端接口目录.小程序用户地址定位.小程序用户配送地址接口 import 用户配送地址ViewSets
小程序用户地址定位地图Router = DefaultRouter()
小程序用户地址定位地图Router.register(prefix="delivery", viewset=用户配送地址ViewSets, basename="用户配送地址ViewSets")
小程序用户地址定位地图Router.register(prefix="map", viewset=小程序用户的位置接口ViewSets,
basename="小程序用户的位置接口ViewSets")
@@ -0,0 +1,12 @@
# from rest_framework.routers import DefaultRouter
#
# from wechat_mini_服务端接口目录.小程序码与小程序链接口列表.ShortLink接口 import ShortLinkViewSets
# from wechat_mini_服务端接口目录.小程序码与小程序链接口列表.URLLink接口 import URLLinkViewSets
# from wechat_mini_服务端接口目录.小程序码与小程序链接口列表.scheme码接口 import Scheme接口ViewSets
# from wechat_mini_服务端接口目录.小程序码与小程序链接口列表.小程序码接口 import 小程序码接口ViewSets
#
# 小程序码路由Router = DefaultRouter()
# 小程序码路由Router.register(prefix="qrcode", viewset=小程序码接口ViewSets, basename="小程序码接口ViewSets")
# 小程序码路由Router.register(prefix="scheme", viewset=Scheme接口ViewSets, basename="Scheme接口ViewSets")
# 小程序码路由Router.register(prefix="link", viewset=URLLinkViewSets, basename="URLLinkViewSets")
# 小程序码路由Router.register(prefix="short", viewset=ShortLinkViewSets, basename="ShortLinkViewSets")
+8
View File
@@ -0,0 +1,8 @@
from rest_framework.routers import DefaultRouter
from django_wechat_服务号.服务号接收微信code网页授权 import 服务号网页授权接口ViewSets
服务号接口列表Router = DefaultRouter( )
服务号接口列表Router.register( prefix="auth", viewset=服务号网页授权接口ViewSets, basename="服务号网页授权接口ViewSets" )
+12
View File
@@ -0,0 +1,12 @@
from rest_framework.routers import DefaultRouter
from django_web_管理后台接口.企业微信查询管理接口.企微用户接口 import 企业微信接口ViewSets
from django_web_管理后台接口.用户登陆.用户登陆接口 import 用户登陆接口ViewSets
from django_web_微信开放平台应用用户登陆.接收微信的code回调 import 接收微信的code回调ViewSets
桌面端企业微信接口ViewSets列表Router = DefaultRouter( )
桌面端企业微信接口ViewSets列表Router.register( prefix="企微用户", viewset=企业微信接口ViewSets, basename="企业微信接口ViewSets" )
桌面端企业微信接口ViewSets列表Router.register( prefix="用户", viewset=用户登陆接口ViewSets, basename="用户登陆接口ViewSets" )
桌面端企业微信接口ViewSets列表Router.register( prefix="auth", viewset=接收微信的code回调ViewSets, basename="接收微信的code回调ViewSets" )
Binary file not shown.

After

Width:  |  Height:  |  Size: 564 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 KiB

Some files were not shown because too many files have changed in this diff Show More