首席执行官在本文中指出,将介绍Django ID的相关内容以及Django名称的含义。我希望这对每个人都会有所帮助。让我们来看看。
本文目录清单:
1.如何获得DJANGO框架自动定义的自我介绍的ID字段2.4. django插入ID的数据模具5. django.Foreignkey关联表ID。
描述= _(“整数”)
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):
没有返回
数据库中外部键的默认字段名称是其属性名称+_id。您可以使用db_column参数在创建外键以覆盖此类默认字段名称时使用db_column参数指定字段名称。
作者= models.foreignkey('作者',on_delete = models.cascade,db_column ='foobar'))))
然后,数据库中此外部密钥字段的名称是Foobar,而不是furety_id。
Django的方法是定义Artivle中用户指向用户的外部密钥,以便您不需要获取用户ID,也不需要将用户对象直接分配给外部密钥属性。
'''
班级汽车(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
'''
在实际开发中引用的djangomodel的外键实际上是该表的完整对象,而不是简单的对象ID。
结论:以上是首席CTO注释为每个人编写的Django ID的所有内容。感谢您花时间阅读此网站。我希望这对您有帮助。关于django名称的更多信息,Django的ID iSdo也不会忘记在此网站上找到它。