【发布时间】:2012-08-13 22:19:30
【问题描述】:
所以我可以像这样创建 Django 模型:
from django.db import models
class Something(models.Model):
title = models.TextField(max_length=200)
我可以像这样使用它:
thing = Something()
#set title
thing.title = "First thing"
#get title
thing.title
一切正常,但我想了解它是如何工作的。
title = models.TextField(max_length=200)
在上面的非 Django Python 代码中,定义了 models.TextField 类型的类变量标题,我也可以这样访问它:thing.__class__.title(link)
但是在 Django 中,当我创建Something 的实例时,我突然有了一个标题属性,我可以在其中获取/设置文本。并且无法使用thing.__class__.title 访问它所以很明显,在做 thing.title 时我不是在访问类变量“title”而是访问一些生成的属性/属性,或者?
我知道字段以 thing._meta.fields 结尾,但如何? 发生了什么以及如何?
1、Django是否在幕后创建属性“title”?
2、类变量“title”发生了什么?
【问题讨论】:
标签: python django django-models