The Django 文档 https://docs.djangoproject.com/en/1.9/topics/db/models/#multi-table-inheritance使用此示例来演示多表继承:
from django.db import models
class Place(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=80)
class Restaurant(Place):
serves_hot_dogs = models.BooleanField(default=False)
serves_pizza = models.BooleanField(default=False)
如果我最初像这样构建 Restaurant 类:
class Restaurant(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=80)
serves_hot_dogs = models.BooleanField(default=False)
serves_pizza = models.BooleanField(default=False)
然后在创建了一堆 Restaurant 对象之后,我意识到使用 MTI 会更好,有没有一种好的方法可以在事后创建父 Place 类并迁移数据?
添加新模型,但保留旧模型。进行迁移.
Write a 自定义迁移复制数据Restaurant
模型到NewRestaurant
model.
如有必要,请更改其他模型中的任何外键字段Restaurant
to NewRestaurant
and 进行迁移.
如有必要,请在应用程序中的所有位置进行更改Restaurant
类用于使用NewRestaurant
class.
删除旧的餐厅模型并进行迁移.
将新餐厅模型重命名为Restaurant
所以在新结构下一切都会恢复正常。进行迁移.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)