python - 为什么 Django 在多表继承中隐式创建类型为 parent 的对象?
问题描述
我正在尝试了解 django 中的多表继承,并使用官方django 文档中的代码示例:
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)
在 python 控制台中执行以下操作时。似乎 django 在创建 Restaurant 对象时隐式地创建了一个 Place 对象:
>>> Place.objects.all().count()
0
>>> Restaurant.objects.all().count()
0
>>> Restaurant.objects.create(serves_pizza=True)
<Restaurant: Restaurant object (1)>
>>> Place.objects.all().count()
1
>>> Restaurant.objects.all().count()
1
>>> Restaurant.objects.first() is Place.objects.first()
False
有人可以解释发生了什么吗?
解决方案
推荐阅读
- arrays - 计算包含数字的数组元素的数量
- c# - 如何将动态 JSON 转换为 C# 对象
- tensorflow - Unet Runtime Execution 停止并显示警告消息
- r - 尝试安装 ICEWS R 包时出现“非零退出状态”错误
- angular - Ionic 4 如何使用 aws cognito 会话登录 facebook?
- c - 使用 SDL_image 保存 PNG 时出现段错误
- cmake - 如何让 CMake 使用指定的编译器?
- objective-c - 创建动态框架 Xcode
- python-3.x - python3:斐波那契生成器未按预期工作
- python - Django 在注册时根据允许的用户名的正则表达式检查用户名