在Django1.11.x中,验证数据库中是否存在记录的最佳方法是什么?

2024-06-28 11:05:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在保存之前验证是否存在一个整数order。我怎么做到的?你知道吗

我的型号:

class Board(models.Model):
    name = models.CharField(...)
    curriculum = models.TextField(...)
    order = models.IntegerField(...)

[更新1]

用@DanielRoseman的提示,我试着在form_valid中做。你知道吗

在我的CBV里。你知道吗

def form_valid(self, form):
    if Board.objects.get(order = form.instance.order):
        # DO SOMETHING
    else:
        return super(BoardCreateView, self).form_valid(form)    

我的疑问是如何返回到用户声明它已经存在


Tags: nameselfformboardmodelmodelsorder整数
2条回答

试试exists()

exists()检查对象是否已保存在数据库中的速度更快。你知道吗

资料来源:https://docs.djangoproject.com/en/1.11/ref/models/querysets/#django.db.models.query.QuerySet.exists

假设你有这样的东西:

order = models.IntegerField(null=True, blank=True)

def save(self, *args, **kwargs):
    if self.order:
        print 'Do something'
    super(Board, self).save(*args, **kwargs)

相关问题 更多 >