当前位置: 首页 > 网络应用技术

如何在Django中获取多个字段(Django计算字段)

时间:2023-03-08 15:39:30 网络应用技术

  今天,首席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忘记找到该字段的相关内容。