gpt4 book ai didi

django - 将 Django 模型父类添加到现有模型中以实现多表继承

转载 作者:行者123 更新时间:2023-12-01 23:30:48 25 4
gpt4 key购买 nike

Django Docs使用这个例子来演示多表继承:

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 类并迁移数据?

最佳答案

简单方法:造假 IntegerField<parent_model>_ptr在子模型中,填充它,然后删除它并同时添加父模型。

这是一篇完整的文章:http://www.johnborwick.com/blog/2013/08/using-south-to-change-a-django-models-parent-class/ .它是关于南方的,但这个想法也适用于现代 Django。

关于django - 将 Django 模型父类添加到现有模型中以实现多表继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37012977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com