【问题标题】:How to catch all exception in database after save() in django?如何在 django 中的 save() 后捕获数据库中的所有异常?
【发布时间】: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字符串过长
  • 你能说得更具体点吗?能给我们一些代码吗?

标签: python html sql django


【解决方案1】:

我猜你想要一个 ModelForm。这将负责您模型的错误处理。查看https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#modelform

【讨论】:

  • 是的!这正是我要找的!非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-23
  • 2010-09-11
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 2011-02-09
  • 1970-01-01
相关资源
最近更新 更多