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

时间:2016-01-31 15:59:43

标签: python mysql django database

我正在使用Django进行一个小项目,我想创建一个包含一行的表来添加项目的描述。我只需要一行而不是更多,因为它是整个网站的一个描述,我不希望用户能够添加多个描述。

2 个答案:

答案 0 :(得分:2)

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

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()

答案 1 :(得分:1)

是的,这可以做到。 假设您的模型是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()

希望这有帮助。