在Django中创建单例模型怎么样?

21 投票
5 回答
11893 浏览
提问于 2025-04-15 19:21

我正在用Django做一个非常简单的网站。在其中一个页面上,有一个垂直的滚动框。我需要给客户一个方法,让他们可以编辑这个滚动框的内容,使用HTMLField

我想到的第一个办法是创建一个叫Ticker的模型,这个模型只会有一个实例。然后我又想,既然要确保只有一个实例存在,那是不是Django里应该有一个类似SingletonModel的类?这个类就像普通模型一样,但它能确保只创建一个实例?

或者我是不是应该用其他方法来解决这个问题呢?

5 个回答

2

我觉得用“单例”模型很丑陋;这在关系数据库中是个糟糕的用法,而且用户界面也不好,因为管理员界面是围绕处理对象列表来设计的。

所以我更喜欢用一些通用的解决方案,比如django-chunks或者django-flatblocks

3

你可以使用 django_singletons 这个工具。它自带了管理界面的支持。

11

试试 django-solo,这个在django 1.5及以上版本肯定能用。django-singletons 在1.5及以上版本就不行了,因为它用了一个已经不再支持的功能。

撰写回答