Django 可以在新表中为现有表中的每一行创建一个默认行吗?



我有一个填充了数据的公司表。引入了分支表的需求已经出现。在 Django 中使用什么机制来使用公司表中的现有数据为每个现有公司条目创建一个基本的分支条目。

"作为迁移的一部分,公司 A 将获得默认的总部分支机构。">

有没有办法将函数绑定到迁移,或者我需要创建一个自定义迁移,在处理表创建过程后执行操作?

models.py

class Company(models.Model):
name = models.CharField(max_length=64)
# This is the new model/table
# Each Company must have at least one branch post migration
class Branch(models.Model):
branch_id = models.IntegerField(
verbose_name="Branch ID",
null=False,
default=1000),
parent_branch = models.ForeignKey('self', on_delete=models.CASCADE, null=True)
company = models.ForeignKey(Company, on_delete=models.CASCADE, blank=False, null=False)

在这里找到了答案。将其作为两个单独的操作执行,其中我创建新表而不更改旧表,执行数据迁移,然后部署从中运行的新代码。

最新更新