首页>>后端>>Python->django中如何指定主键

django中如何指定主键

时间:2023-12-05 本站 点击:0

导读:本篇文章首席CTO笔记来给大家介绍有关django中如何指定主键的相关内容,希望对大家有所帮助,一起来看看吧。

本文目录一览:

1、Django 使用uuid作主键2、如何自定义 Django 主键自增的起始值3、Django Model 怎么使用 UUID 作为主键4、django中如何指定主键,比如创建ip属性,ip=IPAddressField(),括号里应该怎么设置啊。。。5、django中model的主键的设置与自增

Django 使用uuid作主键

在实际开发中,我们有时需要使用UUIDField作为model的字段类型,下面简单介绍一下它的使用方法

一、作为主键使用

UUIDField 作为主键使用,必须将primary_key设置为true,default也必须有默认值,这里设置为uuid.uuid4

有一点必须注意,default不能设置为uuid.uuid4()

因为uuid.uuid4()返回的是一个确切的值,每次添加数据的时候默认值都是这个值,而主键是必须有唯一性的,所以就会报错。而uuid.uuid4为一个方法,每次添加数据时都会生成一个新值,满足需求。

二、作为非空字段, null设置为false

三、作为可为空的字段使用

这里建议设置default=None

如何自定义 Django 主键自增的起始值

1234

from django.db import models# Create your models here.class Student(models.Model): student_id = models.BigAutoField(primary_key=True)

这是model定义。

默认情况下,自增id都是从1开始计数的。如果你想从10001开始,就需要手动创建一个对象,为其设置student_id为10001,以后创建对象的studeng_id就从10002开始自动增加。

first_student =models.Student(student_id=10001)

first_student.save()

更多相关内容参考刘江的Django教程

Django Model 怎么使用 UUID 作为主键

编辑表结构/keys,

写入主键的名称, type选primary,columns点右侧的[...],选列。

最后点左下角的apply

django中如何指定主键,比如创建ip属性,ip=IPAddressField(),括号里应该怎么设置啊。。。

Django1.10版本以上应该使用:

ip = models.GenericIPAddressField()

而以下的版本使用:

ip = models.IPAddressField()

django中model的主键的设置与自增

在django所定义的model里是可以自己设置主键的,具体方法为

但是要注意的是,为了添加元素的过程中主键的自增,主键的设置中不能加入default属性,否则save()的过程将不再是新建元素而是替换元素。

自己在最开始的定义是

AgentInfo_id = models.IntegerField(default=0)

由于设置了默认值,引发了不小的麻烦

结语:以上就是首席CTO笔记为大家整理的关于django中如何指定主键的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/12398.html