在Django admin中,如何限制一定数量的条目之后的管理输入?

2024-09-29 23:30:03 发布

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

我已经学习django大约一个月,而来django管理我想限制从管理员的数据输入不超过5,这样当我想显示在网页上的模型数据库不超过5,你能帮我在这个对不起,如果这太基本吗 我的模型是

class Top5Restaurants(models.Model):
    Restaurants=models.CharField(max_length=20)

    def __str__(self):
        return( self.Restaurants)
    class Meta:
        verbose_name = 'Top 5 Restaurant'
        verbose_name_plural = 'Top_5_Restaurants'

现在我不想从管理界面超过5个餐厅条目,如果管理员尝试输入超过5个条目,我希望条目选项被阻止,直到管理员删除其中一个输入的数据库


Tags: 数据djangoname模型self数据库网页verbose
1条回答
网友
1楼 · 发布于 2024-09-29 23:30:03

您可以通过validating the model instance that is being created/edited限制模型(这里是Top_5_Restaurants)可以拥有的实例数。还要注意,pk属性在实例创建期间设置为None(vs instance updates)

class Top_5_Restaurants(models.Model):
    def clean(self):
        if (Top_5_Restaurants.objects.count() >= 5 and self.pk is None):
            raise ValidationError("Can only create five Top_5_Restaurants instances. Try editing/removing one of the existing instances.")

(一个有用的提示:模型类通常用PascalCase命名,模型字段用camelCase命名)

相关问题 更多 >

    热门问题