wil*_*dil 2 django django-models
我确信以前有人问过这个问题,但我找不到答案。在 django 中,如果我有这个模型
from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
Run Code Online (Sandbox Code Playgroud)
Person第一次迁移字段时,如何使用默认条目填充此模型?
我不是在谈论字段的默认值,而是在谈论数据库中的默认条目。
谢谢
您可以在创建对象的迁移之后进行数据迁移Person。您可以首先让 Django 编写迁移的“骨架”,这可以通过以下方式完成:
python manage.py makemigrations --empty appnameRun Code Online (Sandbox Code Playgroud)
接下来 Django 将创建一个文件。在该文件中,您可以将RunPython项目添加到operations列表中。然后获取历史模型(迁移时的模型),然后您可以Person在数据库中创建一个对象。例如:
from django.db import migrations
class Migration(migrations.Migration):
def create_person(apps, schema_editor):
Person = apps.get_model('appname', 'Person')
Person.objects.create(first_name='will', last_name='mendil')
dependencies = [
('appname', 'migrationname'),
]
operations = [
migrations.RunPython(create_person)
]Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1812 次 |
| 最近记录: |