python - Django 模型继承和类型检查

标签 python django

class Machine(models.Model):
    name= models.CharField( max_length=120)
    class Meta:
        abstract = True

class Car(Machine):
    speed = models.IntegerField()

class Computer(Machine)
    ram = models.IntegerField()

我的问题是,我如何理解 Machine 模型是什么类型。例如,我知道传入查询是 Machine 模型的子模型,但我也想知道它是 Car 子模型。

最佳答案

我不确定我是否正确理解了你的问题。 如果您正在尝试找出给定实例的类型,您可以使用内置的type 函数。

an_object = Car(name = "foo", speed = 80)
an_object.save()
type(an_object) # <class 'project.app.models.Car'>

或者,如果您想检查 an_object 是否是 Car 的实例,您可以使用 isinstance

isinstance(an_object, Car) # True

关于python - Django 模型继承和类型检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3438003/

相关文章:

python - 我正在使用的方法未绑定(bind)?

python - django如何上传文件夹

python - 用于 Django 项目/应用程序的 RESTful API

python - Celery 工作人员之间共享 XMPP 连接

python - lambda 在此 python 代码中做了什么?

python - 从集合中查找断开连接的图的算法

python - 使用 Pywinrm 从 Linux 在远程 Windows 机器上执行 vbs 脚本(双跳)

django 1.3 服务器错误

python - 如何删除 seaborn 散点图顶部和底部的空白

python - 如何在PySide的浏览器示例中添加工具栏?