在Django上放置通用数据库表的位置?

时间:2011-03-23 09:02:05

标签: python django

我正在尝试从Django开始。

我正在开发一款App。此应用程序称为“目录”并将存储 关于网站的信息。

我必须创建一个名为“Genders”的数据库表,但这是一个 通用数据库表,可以在其他App中使用。

我的问题......如何处理Django中的这种情况?和 我把这个数据库表放在哪个模型中?

最诚挚的问候,

2 个答案:

答案 0 :(得分:1)

在django中,您(通常)不会创建数据库表。您创建模型,让django ORM为您创建表。

为了防止数据库中有两个名为gender的表,django将在模型名称前加上app的名称。因此,如果您的应用被称为foo,则您的模型类为Gender,您将拥有foo_gender。但是,你不需要知道这一点。

至于性别的具体情况:我不打算将它存储在特殊表格的数据库中。他们不再制造新的性别了。如果您需要存储包含性别的字段,请使用django.db.models.CharFieldchoices=(('M',"Male"),('F',"Female"))。或者,如果你这么做,那么创建一个新的字段。

如果您确实需要能够动态添加到数据库中,那么要么将其抽象为可重用的应用程序,要么像其他人提到的那样,创建一个杂项/项目/工具应用程序。

答案 1 :(得分:0)

Django并没有真正为您提供整个项目中常用的东西。我认为解决这个问题的最常见方法是创建一个“项目”应用程序,它可以保存与项目相关的内容,例如模型,模板标签或小部件......