gpt4 book ai didi

python - 实例属性在数据库中代表什么?对于 Django 模型

转载 作者:行者123 更新时间:2023-11-30 21:57:40 25 4
gpt4 key购买 nike

假设我有一个名为 foo 的模型:

class Foo(models.Model):
col_one = models.SomeFiled(...)
col_two = models.SomeFiled(...)

现在我知道 col_one 和 col_two 将代表数据库中的列,但是如果我将 init() 方法添加到模型中,如下所示:

class Foo(models.Model):
col_one = models.SomeFiled(...)
col_two = models.SomeFiled(...)
def __init__(self):
attr_one=value_one

现在 Foo 的每个实例将代表数据库中的一条记录,但是 attr_one 将代表该特定记录,它是否类似于与该记录关联的元数据?第一次创建对象的时候是否会存入数据库?

如果我的问题很简单,我对 python 和 Django 都是新手。

最佳答案

在您的具体情况下,attr_one 是一个局部变量,就像在任何 python 函数中一样,一旦函数执行完毕,它就会消失。

如果另一方面你的意思是 self.attr_one=...那么这将是一个类实例属性,一旦对象被销毁,该属性就会丢失。也就是说,它仅在调用该函数时创建,只要使用 python 对象的同一实例,它就可以访问和定义,但您无法从头开始从数据库检索相同的对象。

尽管如此,我不会覆盖 __init__ Django 模型的方法。尤其是在不调用 super() 的情况下。它将抑制 django 的核心功能并可能导致错误。

关于python - 实例属性在数据库中代表什么?对于 Django 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55182643/

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