Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 实例属性将在数据库中表示什么?对于Django模型_Python_Django - Fatal编程技术网

Python 实例属性将在数据库中表示什么?对于Django模型

Python 实例属性将在数据库中表示什么?对于Django模型,python,django,Python,Django,假设我有一个名为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 = mode

假设我有一个名为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\u one=…
,那么这将是一个类实例属性,一旦对象被销毁,该属性将丢失。也就是说,它仅在调用该函数时创建,只要使用相同的python对象实例,就可以访问和定义它,但如果您从头开始从数据库检索相同的对象,则会丢失它


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

我想你需要重新措辞一下。你的问题究竟是什么还不清楚。也许你也应该加一个例子。请将带有“如果我的问题微不足道,我对python和Django都是新手”的部分移到它自己的句子中,或者完全删除它。
attr_one
将仅在init方法中可用。如果您打算使用
self.attr\u one
,只要实例没有被垃圾收集,它就在那里。如果你问的是这个问题,它不会在数据库中的任何地方持久化。