有没有办法创建一个所谓的多类型模型字段?

时间:2012-04-06 06:33:50

标签: django django-orm

前言

我需要拥有一组具有单独字段的对象(对象模型)(字段模型)。它包含名称和类型(参见图表)。对象和字段之间的每个连接都存储字段的值。值的数据类型取决于字段类型属性,物理上该值将存储在其中一个预定义的db列中(value_number,value_text,...)。

我希望它如何运作:

field = Field.objects.get(pk=1)
sought_for = Object.fields.filter(field=field, value='test')

有没有办法创建这样一个可以放到QuerySet中的字段,就像在示例中一样简单但实际上,根据字段的类型,它使用不同的db列甚至列,因为我认为将来会有一些类型涉及多个列来存储其价值。

P.S。我尝试了一些EAV应用程序,但它们似乎对我的情况来说太复杂了。

图表:

  • 字段模型,它存储字段的名称和类型
  • FieldValue,存储字段值的模型。

How I see the db realization

UPD:最终我开始认为使用Postgres(或任何关系数据库)的方法不是最好的选择。我在MongoDB中轻松实现了这一功能。

0 个答案:

没有答案