首先,我必须声明我对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,但是我传递了一个字符串,为什么它仍然有效?
答案 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
类型。