forked from erp-dev/erp
126 lines
4.5 KiB
Python
126 lines
4.5 KiB
Python
# Generated by Django 5.2.8 on 2026-04-10 03:36
|
|
|
|
import django.db.models.deletion
|
|
from django.db import migrations, models
|
|
|
|
|
|
def populate_merchant_fields(apps, schema_editor):
|
|
Mission = apps.get_model("mission", "Mission")
|
|
MissionParticipant = apps.get_model("mission", "MissionParticipant")
|
|
MissionReply = apps.get_model("mission", "MissionReply")
|
|
|
|
for mission in Mission.objects.select_related("creator").filter(merchant__isnull=True):
|
|
mission.merchant_id = mission.creator.merchant_id
|
|
mission.save(update_fields=["merchant"])
|
|
|
|
for participant in MissionParticipant.objects.select_related("mission").filter(merchant__isnull=True):
|
|
participant.merchant_id = participant.mission.merchant_id
|
|
participant.save(update_fields=["merchant"])
|
|
|
|
for reply in MissionReply.objects.select_related("mission").filter(merchant__isnull=True):
|
|
reply.merchant_id = reply.mission.merchant_id
|
|
reply.save(update_fields=["merchant"])
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
("basic_info", "0025_customer_uniq_customer_merchant_name"),
|
|
("mission", "0001_initial"),
|
|
]
|
|
|
|
operations = [
|
|
migrations.RemoveIndex(
|
|
model_name="mission",
|
|
name="mission_mis_content_be6081_idx",
|
|
),
|
|
migrations.RemoveIndex(
|
|
model_name="mission",
|
|
name="mission_mis_is_comp_299039_idx",
|
|
),
|
|
migrations.AddField(
|
|
model_name="mission",
|
|
name="merchant",
|
|
field=models.ForeignKey(
|
|
null=True,
|
|
on_delete=django.db.models.deletion.PROTECT,
|
|
related_name="missions",
|
|
to="basic_info.merchant",
|
|
verbose_name="所属商户",
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="missionparticipant",
|
|
name="merchant",
|
|
field=models.ForeignKey(
|
|
null=True,
|
|
on_delete=django.db.models.deletion.PROTECT,
|
|
related_name="mission_participants",
|
|
to="basic_info.merchant",
|
|
verbose_name="所属商户",
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="missionreply",
|
|
name="merchant",
|
|
field=models.ForeignKey(
|
|
null=True,
|
|
on_delete=django.db.models.deletion.PROTECT,
|
|
related_name="mission_replies",
|
|
to="basic_info.merchant",
|
|
verbose_name="所属商户",
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="missionreply",
|
|
name="rejected_by",
|
|
field=models.ForeignKey(
|
|
blank=True,
|
|
null=True,
|
|
on_delete=django.db.models.deletion.PROTECT,
|
|
related_name="rejected_mission_replies",
|
|
to="basic_info.employee",
|
|
verbose_name="撤销人",
|
|
),
|
|
),
|
|
migrations.RunPython(populate_merchant_fields, migrations.RunPython.noop),
|
|
migrations.AlterField(
|
|
model_name="mission",
|
|
name="merchant",
|
|
field=models.ForeignKey(
|
|
on_delete=django.db.models.deletion.PROTECT,
|
|
related_name="missions",
|
|
to="basic_info.merchant",
|
|
verbose_name="所属商户",
|
|
),
|
|
),
|
|
migrations.AlterField(
|
|
model_name="missionparticipant",
|
|
name="merchant",
|
|
field=models.ForeignKey(
|
|
on_delete=django.db.models.deletion.PROTECT,
|
|
related_name="mission_participants",
|
|
to="basic_info.merchant",
|
|
verbose_name="所属商户",
|
|
),
|
|
),
|
|
migrations.AlterField(
|
|
model_name="missionreply",
|
|
name="merchant",
|
|
field=models.ForeignKey(
|
|
on_delete=django.db.models.deletion.PROTECT,
|
|
related_name="mission_replies",
|
|
to="basic_info.merchant",
|
|
verbose_name="所属商户",
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="mission",
|
|
index=models.Index(fields=["merchant", "content_type", "content_id"], name="mission_mis_merchan_af589f_idx"),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="mission",
|
|
index=models.Index(fields=["merchant", "is_completed", "is_cancelled"], name="mission_mis_merchan_6d6d37_idx"),
|
|
),
|
|
]
|