Django使用save新增一条数据之后如何获取自增id
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django使用save新增一条数据之后如何获取自增id相关的知识,希望对你有一定的参考价值。
如果我这样新建一条数据之后,如何在view里获得这条数据里自增的id
参考技术A back = models.Back.objects.get(bookname=bookname) # 查询你保存的那本书的记录print(back.id) # 打印出你要的新增记录的id值
如何在 django 中的 save() 后捕获数据库中的所有异常?
【中文标题】如何在 django 中的 save() 后捕获数据库中的所有异常?【英文标题】:How to catch all exception in database after save() in django? 【发布时间】:2013-10-08 10:12:31 【问题描述】:我想将这些错误消息返回到 html 表单并显示此表单的问题所在。有解决方案吗?或者我应该使用原始 SQL 查询吗?感谢您的建议。
例如:
models.py:
class GeneticCharacter(models.Model):
StrainNo=models.CharField(max_length=10,primary_key=True)
StrainName=models.CharField(max_length=10)
SourceNo=models.IntegerField()
ESBL=models.CharField(max_length=9,blank=True)
AEM=models.CharField(max_length=12,blank=True)
PMQR=models.CharField(max_length=15,blank=True)
ISeq=models.CharField(max_length=12,blank=True)
Replicon=models.CharField(max_length=10,blank=True)
MLST_type=models.CharField(max_length=10,blank=True)
PLG_type=models.CharField(max_length=2,blank=True)
IsPat=models.BooleanField()
views.py
...
obj=GeneticCharacter()
obj.ESBL="a"*20
obj.AEM="a"*20
obj.save()
...
如何捕获所有异常?
【问题讨论】:
哪些错误消息..? 如模型中的CharField字符串过长 你能说得更具体点吗?能给我们一些代码吗? 【参考方案1】:我猜你想要一个 ModelForm。这将负责您模型的错误处理。查看https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#modelform
【讨论】:
是的!这正是我要找的!非常感谢以上是关于Django使用save新增一条数据之后如何获取自增id的主要内容,如果未能解决你的问题,请参考以下文章
Django讲课笔记09:使用QuerySet新增和更新数据
在 django 模型自定义 save() 方法中,你应该如何识别一个新对象?