今天,首席CTO Note将与您分享Django如何获得多个字段的相关内容。其中,将详细介绍Django计算字段。如果您可以添加以解决您现在面临的问题,请不要忘记注意此网站。现在让我们立即开始。
本文目录清单:
1. python django模型。模型遍历所有字段2.询问django如何获得模型3中模型定义的属性,django在模型4中遍历了属性。Djangodjango django获取几种邮政请求值的方法5.框架自动框架自动定义的自我介绍ID字段6. django multi -Table查询,如何使SELECT语句包含多个表的所有字段?使用pcr._meta.get_field()获取verbose_name,getTattr()获取值
您用所有()返回的是对象的列表。此[obj1,obj2,...]使用obj.objects.gets.gets.get(id = **)获取对象,或使用get_object_or_404(obj,obj,obj,id = **),使用obj.objects.get(id = **)。属性名称既是obj.objec中的obj ...
具体的写作是
结果= serverInformation.objects.get(id = 1)#filter是querySet,no _meta方法
allhost = serverInformation._meta.get_all_field_names()#this是正确的
vername = serverInformation._meta.get_field('serverType')。Verbose_name#此句子也是正确的,S erverType是模型的属性。
vervalue = serverInformation._meta.get_field('serverzone')。默认#可以获取默认值。如果大家都知道如何获得Verbose_name,为什么不直接想到.default。
PS:
getttr(对象,名称[,默认]))
getttr(x,'foobar')
等同于
X.Foobar
。如果不存在命名的属性,则默认值将拒绝,如果已证明,则会提出属性。
查看如何使用它。
1. Django获得多个关键值来自帖子:
阿贾克斯:
var语言= {};
语言['英语'] = ['mark','james'];
语言['Spanish'] = ['Amy','John'];
$ .ajax({{{{{{
类型:'post',
URL:'/save/',,
数据:语言,
数据类型:'json'
});
django Views.py
如果request.is_ajax()和request.method =='post':
对于request.post中的键:
打印键
valuelist = request.post.getList(key)
印刷valluelist
-----------------------------------
Fidder:
名称=六月;年龄= 26;
-----------------------------------
Views.py
16对于请求中的键。
----------------------------------------------------------------------------------------------------------------
开发服务器正在使用Control-C在退出服务器上运行。您的Medhod是帖子!名称[U'June']
年龄[U'26'] [04/APR/2012 10:58:11]“ post/getuin/http/1.1” 200 20 20 20
2.一次加载所有值:
def View_example(请求):
data = simplejson.loads(request.raw_post_data)
3.获取多个值作为列表
request.post获取多个值
querydict.getList()ast asl laster/get object从请求/获取对象获取所有复选框(或选择列表)值。
假设我们有一个简单的表单,即以下复选框。每个复选框都包含一个IDIST。1 form method =“ post” action =“ 2 ... 3”名称“”名称“”名称“”名称“”名称“ 1” 1“”名称“”名称“” 1“ 1” 1“ 1”1“ 1” 1“ 1” 1“ 1” 1“ 1” 1“ 1” 1。=“ Artist” type =“复选框” 6 ... 7 /表格
在views.py:1 def handle(请求):2如果请求。Method=='post':3 Artists = request.getList('Artist')#现在艺术家是[1,2,3]的列表
Django自定义字段类型,实现非媒体关键字段的自我提示
描述= _(“整数”)
empty_strings_allowed = false
default_error_messages = {'iNvalid':_(“'%(value)s'值必须为前者。”),
} def __init __(self, *args,** kwargs):
Kwargs ['blank'] = true
super(autoiinincrefield,self).__ init __(*args,** kwargs)def检查(self,** kwargs):
错误= super(autoiinincrefield,self)。检查(** kwargs)#每个表只能将一个字段设置为一个自我生长字段。该字段可以是主要键或主键。“键”
#(主键)也是一种键(键)的类型。密钥还包括外键和唯一键(唯一键)
errors.extend(self._check_key())返回错误def _check_key(seld):
如果不是self.inique:返回[
checks.sror('autoIncrefields必须设置键(unique = true)。',,
obj = seld,
id ='fields.e100',
),,
] else:返回[] def deconstruct(self):
名称,路径,args,kwargs = super(autoiinincrefield,self).deconstruct()del kwargs ['black']
Kwargs ['unique'] = true
返回名称,路径,args,kwargs def get_internal_type(self):
返回“ AutoIncrefield”
def to_python(self,value):
如果值无:返回值尝试:返回int(value)除外(typeError,value error):提高异常。ValidationError(
self.error_messages ['无效'],
代码='无效',
params = {'value':value},
)def db_type(self,connection):
返回“ bigint auto_increment'
def rel_db_type(self,connection):
返回integerfield()。db_type(连接=连接)defamidate(seld,value,model_instance):
经过
def get_db_prep_value(self,value,connection,准备= false):
如果不准备:
值= self.get_prep_value(value)
value = connection.ops.validate_autopk_value(value)返回值def def get_prep_value(seld,value):
value = super(autoincrefield,self).get_prep_value(value)如果值无:返回无
返回int(value)def contrute_to_class(self,cls,name,** kwargs):
断言不是cls._meta.auto_field,“一个模型不能比一个自动Incriffield。”“”
Super(AutoIncrefield,self).contribute_to_class(Cls,name,** Kwargs)
cls._meta.auto_field = self def formfield(self,** kwargs):
没有返回
选择 *从(从组中选择...从一个组中选择...(从B组中选择...)为B
在哪里。class = b。
如果将多个字段组合为主要键,请使用它进行连接。
结论:以上是首席CTO注释为所有人编写的Django的全部内容。感谢您阅读本网站的内容。我希望这对您有帮助。有关Django计算字段的更多信息,如何获得更多的Django来使Moredon忘记找到该字段的相关内容。