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

如何获得Django的默认ID(2023年最新的完成)

时间:2023-03-07 01:02:34 网络应用技术

  简介:许多朋友询问Django是如何获得默认ID的。本文的首席CTO笔记将为您提供详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!

  '''

  班级汽车(Models.Model):

  id = models.autofield(primary_key = true)

  name = models.charfield(max_length = 100)

  top_speed = model.integerfield()

  '''

  '''

  汽车=汽车(name = car_name,top_speed = top_speed)

  尝试:

  car.save()

  响应= json.dumps

  '''

  假设有这样的字典a = {'id':'123'},那么如果您获得myModel的对象,则可以以这种方式获得此对象的ID.get(** a)。ID只能成为MyModel的领域。希望提供帮助

  Django的方法是定义指向Artivle中用户的外部密钥,以便您不需要获取用户ID,也不需要将用户对象直接分配给外部密钥属性。

  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):

  没有返回

  结论:以上是首席CTO汇编的Django相关内容的摘要,请注意Django如何获得默认ID,我希望它对您有所帮助!如果您解决问题,请与更多的朋友分享。关心这个问题?