0
我想在Django Admin中使用变量/常量,以后可以在代码中使用。Django管理:Django Admin中的变量/常量可以更改
例如API密钥,谷歌标签管理器识别号等
我知道我可以将它们在设置或其他文件,但这是更多的营销队伍,并可以改变的。
这是怎么做到的?只是单一的记录可变(非多 - 所以模型是不是最好的解决方案)
我想在Django Admin中使用变量/常量,以后可以在代码中使用。Django管理:Django Admin中的变量/常量可以更改
例如API密钥,谷歌标签管理器识别号等
我知道我可以将它们在设置或其他文件,但这是更多的营销队伍,并可以改变的。
这是怎么做到的?只是单一的记录可变(非多 - 所以模型是不是最好的解决方案)
然后像做:
class myConstant(models.Model)
# ...
def clean(self):
if self.id: # instance already exists
# do some clean
elif myConstant.objects.count() > 0:
raise ValidationError("Only one instance allowed")
else:
# do some clean
def save(self):
# check if this instance already exists
if self.id:
super().save()
# else: count numbers of all instances of this model
elif myConstant.objects.all().count() > 0:
return # no save will be processed
else:
super().save()
这样,你只1允许的实例,这种模式 - 它能够存在的只有1字段是你的常数值。
您可以进行更多保存,不仅检查您的当前实例是否已经存在,而且检查您的当前实例是否可能已有一个实例。
if myConstant.objects.count() > 0 and myConstant.objects.all[0] == self:
# do some clean in case of clean() method
super().save() # in case of save method
此外,如果你想用一个模型来表示这种不断在你的应用程序/项目的任何地方,你就必须要为此提供ForeignKeys其他车型,它是必要的。
只需为每个字段添加一个单独的字段? –
您可能会在https://djangopackages.org/grids/g/live-setting/上找到其中一个包。 – Alasdair
@Max M - 你能否详细说说,给我一个链接?如果我使用多个字段的模型,我可以添加尽可能多的模型,因为我希望这不可能 – user3541631