Django 2:使用另一个应用程序中不存在的数据进行迁移

Django 2: Migration with data that doesn’t exist in another app

我正在尝试创建一个新的 table 并使用另一个 table 中当前不存在的初始值加载它。我发现的所有迁移信息都是从现有模型中提取到新模型中。我想将新信息放入新模型中。例如:

如果我想要一个“国家模型”和一个带有国家外键的“国家模型”,我该如何制作一个包含该国家所有州的“国家(美国)”?

然后,如果我稍后在与“美国”相同的文件中创建所有地区的“国家(加拿大)”,它会只添加“加拿大”还是会复制所有“美国”信息。

抱歉格式错误。我目前正在 iPhone 上打字,还没有弄清楚格式。

您可以编写管理命令并通过 manage.py 调用初始化数据库吗?像

from django.core.management.base import BaseCommand, CommandError
from .models.places import State, City

states = [
    ['Alabama','AL'],
    ['Alaska','AK'], ...
]

cities = [
    ['New York', 'New York'],
    ['Los Angeles', 'California'],
    ['Chicago','Illinois'], ...
]

class Command(BaseCommand):
    help = 'Populates the database with startup data'

    def handle(self, *args, **options):
        for s in states:
            state, created = State.objects.get_or_create(state=s[0],state_code=s[1])
            state.save()
            self.stdout.write(self.style.SUCCESS('State "%s" created' % (state)))

        for c in cities:
            state = State.objects.get(state=c[1])
            city, created = City.objects.get_or_create(city=c[0],state=state)
            city.save()
            self.stdout.write(self.style.SUCCESS('City "%s" created' % (city)))