Python 如何在mysql/django中添加一个仅限于一行的表?

Python 如何在mysql/django中添加一个仅限于一行的表?,python,mysql,django,database,Python,Mysql,Django,Database,我正在为一个小项目使用Django,我想制作一个包含一行的表,在其中添加项目描述。我只需要一行,不需要更多,因为这是整个站点的一个描述,我不希望用户能够添加多个描述。是的,可以这样做。 假设您的模型是MyDescModel class MyDescModel(models.Model): desc = models.CharField('description', max_length=100) def has_add_permission(self): return not

我正在为一个小项目使用Django,我想制作一个包含一行的表,在其中添加项目描述。我只需要一行,不需要更多,因为这是整个站点的一个描述,我不希望用户能够添加多个描述。

是的,可以这样做。 假设您的模型是MyDescModel

class MyDescModel(models.Model):
    desc = models.CharField('description', max_length=100)

def has_add_permission(self):
    return not MyDescModel.objects.exists()
现在你可以称之为

MyDescModel.has_add_permission() 
打电话之前

MyDescModel.save()

希望这有帮助。

我用下面的代码解决了这个问题

Class Aboutus(models.Model):
    ....

    def save(self):
        # count will have all of the objects from the Aboutus model
        count = Aboutus.objects.all().count()
        # this will check if the variable exist so we can update the existing ones
        save_permission = Aboutus.has_add_permission(self)

        # if there's more than two objects it will not save them in the database
        if count < 2:
            super(Aboutus, self).save()
        elif save_permission:
            super(Aboutus, self).save()

    def has_add_permission(self):
        return Aboutus.objects.filter(id=self.id).exists()
关于类(models.Model):
....
def保存(自我):
#count将拥有Aboutus模型中的所有对象
count=Aboutus.objects.all().count()
#这将检查变量是否存在,以便我们可以更新现有的变量
save_permission=Aboutus.has_add_permission(self)
#如果有两个以上的对象,则不会将它们保存在数据库中
如果计数小于2:
super(Aboutus,self).save()
elif保存权限:
super(Aboutus,self).save()
def具有添加权限(自我):
返回Aboutus.objects.filter(id=self.id).exists()

你是否试图实现类似的目标?@JamieBull不,不是!我问了很多问题,但我回答不了!别再投票给我了!!!为了反映这个问题,我更改了标题。这可能就是你获得否决票的原因。谢谢你,但我已经解决了这个问题@JamieBullSo现在,有相同问题的人更有可能找到答案(并在这个过程中给你放弃投票)。重写has_add_权限只对从ModelAdmin继承的模型有效,但在这种情况下,只使用Model