在Django中创建单例模型怎么样?
我正在用Django做一个非常简单的网站。在其中一个页面上,有一个垂直的滚动框。我需要给客户一个方法,让他们可以编辑这个滚动框的内容,使用HTMLField
。
我想到的第一个办法是创建一个叫Ticker
的模型,这个模型只会有一个实例。然后我又想,既然要确保只有一个实例存在,那是不是Django里应该有一个类似SingletonModel
的类?这个类就像普通模型一样,但它能确保只创建一个实例?
或者我是不是应该用其他方法来解决这个问题呢?
5 个回答
2
我觉得用“单例”模型很丑陋;这在关系数据库中是个糟糕的用法,而且用户界面也不好,因为管理员界面是围绕处理对象列表来设计的。
所以我更喜欢用一些通用的解决方案,比如django-chunks或者django-flatblocks。
3
你可以使用 django_singletons 这个工具。它自带了管理界面的支持。
11
试试 django-solo,这个在django 1.5及以上版本肯定能用。django-singletons 在1.5及以上版本就不行了,因为它用了一个已经不再支持的功能。