Python 如何在Django模型中只存储一个或两个记录/对象而不是多个记录/对象?

Python 如何在Django模型中只存储一个或两个记录/对象而不是多个记录/对象?,python,django,database,object,django-models,Python,Django,Database,Object,Django Models,我只想在模型中存储一个或两个对象,但不能存储更多。没有人可以在这个模型中添加更多的对象。我该怎么做?django中有没有使用它的选项 基本上,我只想指定存储在模型中的对象的范围 谢谢你。你可以这样做 假设我有一个人物模型,我希望只创建两个记录 class People(models.Model): name = models.CharField(max_length=255) def save(self,*args,**kwargs): if People.ob

我只想在模型中存储一个或两个对象,但不能存储更多。没有人可以在这个模型中添加更多的对象。我该怎么做?django中有没有使用它的选项

基本上,我只想指定存储在模型中的对象的范围

谢谢你。

你可以这样做

假设我有一个人物模型,我希望只创建两个记录

class People(models.Model):
    name = models.CharField(max_length=255)

    def save(self,*args,**kwargs):
        if People.objects.count() > 1:
            return False # or you can raise validation error
        else:
            super(People,self).save(*args,**kwargs)

您可以重写save方法并设置条件

class Test(models.Model):
    name = models.CharField(max_length=100)

    def save(self, *args, **kwargs):
        if Test.objects.count() > 1:
            raise ValidationError("You can't save more than two items")
        super(Test, self).save(*args, **kwargs)

您可以在创建新记录时添加条件:
如果len(model.objects.all())>10:不创建新记录
您可以覆盖
save()
方法,您可以提供有关要解决的问题的更多上下文吗?例如,您可能希望创建架构时,字段上的唯一约束会阻止您添加新对象。如何在Django管理面板工作模型页面上显示错误消息,而不是引发验证错误?您可以使用Django消息框架。但仍然有很多方法