在Django中实现查找表有什么好的模式?

时间:2012-01-04 09:38:52

标签: django django-models

我有一个django应用程序,它有一个主表/模型,引用各种'查找'表。例如:Client是主表,它通过外键关系引用TitleCode,OccupationCode等。 'lookup'表在结构上非常相似(PK,Code,Display_Value)。在django中执行此操作的显而易见的方法是从每个查找表的model.Models派生一个显式类。它变得有点重复,当你为每个表都有半自定义管理表单时,它会更加繁琐。有任何想法吗?我正在考虑创建一个在基类中实现实际模型定义的基类,然后从这些基类派生特定的查找表/模型。我现在要检查一下这是否可行......

1 个答案:

答案 0 :(得分:0)

只需创建一个名为Code的抽象模型并从中继承特定的类(TitleCode,OccupationCode等)。 ModelForms可以用于所有这些,而不是代码。

另一个解决方案是只创建一个Code类和一个CodeType类...将所有字段放在那里你可能需要,如果它们是某些类型而不是其他类型,则使它们成为可选字段。然后Code对象将具有FK到CodeType。