为什么类变量用于Django模型?

时间:2011-10-19 03:47:31

标签: django models

首先,我必须声明我对Django很新。

我很喜欢创建像这样的simliar模型:

from django.db import models

class Person(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)

但是,我不明白django模型是如何在封面下工作的。当我说

时,我所做的是指定两个类变量
person = Person();
person.first_name = 'abc'

我在此代码中使用的first_name是否与我之前代码中使用的first_name相同?如果是,first_name应该是models.CharField,但是我传递了一个字符串,为什么它仍然有效?

2 个答案:

答案 0 :(得分:2)

不是django家伙,但这似乎很标准......我不确定我是否完全理解你的问题。

last_name = models.CharField(max_length=30)

声明您正在输入数据的字段。好像你在“模型”数据库中创建了一行。

person.first_name = 'abc'

只是填写您创建的Person实例的first_name字段。希望这会有所帮助。

答案 1 :(得分:2)

在第一个示例中,您将定义一个类及其类属性。

在第二个示例中,您使用person = Person()创建该类的实例(删除不需要的;)。

然后,model.CharField的setter接受一个字符串,但它仍然是CharField类型。