fix: 工单图片/升级表冗余字段改名,避免与外键 gongdan_id 冲突

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-07-21 00:37:21 +08:00
parent a432a0b9c4
commit 27862fa22b
3 changed files with 7 additions and 6 deletions

View File

@@ -39,7 +39,7 @@ class Migration(migrations.Migration):
name='GongdanImage',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('gongdan_id', models.CharField(db_index=True, max_length=32, verbose_name='工单号冗余')),
('gongdan_hao', models.CharField(db_index=True, max_length=32, verbose_name='工单号冗余')),
('url', models.CharField(max_length=512, verbose_name='图片URL')),
('paixu', models.IntegerField(default=0, verbose_name='排序')),
('CreateTime', models.DateTimeField(auto_now_add=True)),
@@ -51,7 +51,7 @@ class Migration(migrations.Migration):
name='GongdanShengji',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('gongdan_id', models.CharField(db_index=True, max_length=32, verbose_name='工单号冗余')),
('gongdan_hao', models.CharField(db_index=True, max_length=32, verbose_name='工单号冗余')),
('cishu', models.IntegerField(verbose_name='第几次升级')),
('shuoming', models.CharField(max_length=500, verbose_name='补充说明')),
('shenqingren_id', models.CharField(db_index=True, max_length=32, verbose_name='申请人')),

View File

@@ -42,7 +42,8 @@ class GongdanImage(QModel):
gongdan = models.ForeignKey(
Gongdan, on_delete=models.CASCADE, related_name='images', db_column='gongdan_pk',
)
gongdan_id = models.CharField(max_length=32, db_index=True, verbose_name='工单号冗余')
# 冗余业务工单号(勿命名 gongdan_id会与 FK 访问器冲突)
gongdan_hao = models.CharField(max_length=32, db_index=True, verbose_name='工单号冗余')
url = models.CharField(max_length=512, verbose_name='图片URL')
paixu = models.IntegerField(default=0, verbose_name='排序')
CreateTime = models.DateTimeField(auto_now_add=True)
@@ -58,7 +59,7 @@ class GongdanShengji(QModel):
gongdan = models.ForeignKey(
Gongdan, on_delete=models.CASCADE, related_name='shengji_list', db_column='gongdan_pk',
)
gongdan_id = models.CharField(max_length=32, db_index=True, verbose_name='工单号冗余')
gongdan_hao = models.CharField(max_length=32, db_index=True, verbose_name='工单号冗余')
cishu = models.IntegerField(verbose_name='第几次升级')
shuoming = models.CharField(max_length=500, verbose_name='补充说明')
shenqingren_id = models.CharField(max_length=32, db_index=True, verbose_name='申请人')

View File

@@ -132,7 +132,7 @@ def _replace_images(gd, image_urls):
for i, url in enumerate(urls):
GongdanImage.objects.create(
gongdan=gd,
gongdan_id=gd.gongdan_id,
gongdan_hao=gd.gongdan_id,
url=url[:512],
paixu=i,
)
@@ -210,7 +210,7 @@ def escalate_gongdan(*, gongdan_id, yonghuid, shuoming, image_urls=None):
next_cishu = (gd.shengji_cishu or 0) + 1
GongdanShengji.objects.create(
gongdan=gd,
gongdan_id=gd.gongdan_id,
gongdan_hao=gd.gongdan_id,
cishu=next_cishu,
shuoming=text,
shenqingren_id=yonghuid,