我正在使用Django进行一个小项目,我想创建一个包含一行的表来添加项目的描述。我只需要一行而不是更多,因为它是整个网站的一个描述,我不希望用户能够添加多个描述。
答案 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()
希望这有帮助。