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

如何设置自我提示的主要键(Django更新外部键)

时间:2023-03-08 18:41:21 网络应用技术

  如今,首席CTO Note将与您分享Django如何设置主要键的相关内容以增加主键。其中,将详细介绍Django更新外键。如果您可以添加以解决您现在面临的问题,请不要忘记注意此网站。现在开始nowbar!

  本文目录清单:

  1. django主键增加2.如何自定义django primary键的自我提示的起始值。3。sqlite3 self -increase increas increas in django中的主钥匙。如何从django获取框架的自我信息ID字段.DB导入模型

  #在这里创建您的模型。

  班级学生(Models.Model):

  student_id = models.bigautofield(primary_key = true)

  这是模型的定义。

  默认情况下,自我信息从1中计数1.如果您想从10001开始,则需要手动创建一个对象并将Student_ID设置为10001。创建对象的Studeng_id将自动从10002自动增加。

  first_student = models.student(student_id = 10001)

  first_student.save()

  有关更多相关内容,请参阅Liu Jiang的Django教程

  1234

  来自django.db导入模型#在此处创建您的模型。classStudent(models.model):student_id = models.bigautofield(primary_key = true)

  这是模型的定义。

  默认情况下,自我信息从1中计数1.如果您想从10001开始,则需要手动创建一个对象并将Student_ID设置为10001。创建对象的Studeng_id将自动从10002自动增加。

  first_student = models.student(student_id = 10001)

  first_student.save()

  有关更多相关内容,请参阅Liu Jiang的Django教程

  原则上,此表不允许您修改它,也无法修改它。Django不支持此操作。

  自我添加的主键是确定数据表记录的唯一方法。您让它为零,那么在上一个记录中应该做什么?如果您不需要以前的数据并且数据不重要,请直接删除库。如果您再次出现,则主键将为零(仔细操作)。

  推荐Django学习教程,Django高级教程

  在Django定义的模型中,您可以自己设置主键。具体方法是

  但是,应该注意的是,为了在添加元素的过程中添加主键的自我介绍,默认属性不能添加到主密钥设置中,否则Save()的过程将不再是新的。元素,但要替换元素。

  我最初的定义是

  AgentInfo_id = models.integerfield(默认= 0)

  由于默认值,它会造成很多麻烦

  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如何设置主要键和Django更新的全部内容。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住收集并关注注意力。