数据库可变字段

时间:2017-02-01 10:33:46

标签: django database model

我必须存储数据,其中一部分是预定义的,但用户可以选择自定义数据。 将这些数据存储在数据库中的最佳方法是什么?

  1. 2个字段,1将是预定义选项的整数字段,第二个字段是自定义用户输入的字符串
  2. 1个字符串字段,其中包含一个json,如{predefined:2,custom:''}
  3. 1个字符串字段,其中包含自定义字符串或预定义选项ID(在请求过程中转换)
  4. 1个字符串字段,包含全文选项,即使它是预定义的(其中一些预定义选项可以是长文本)
  5. 我尝试了1)但是每个“自定义就绪”数据的字段数量加倍似乎并不完美......

    有什么想法吗?

1 个答案:

答案 0 :(得分:0)

考虑到你可能需要以下内容(你的问题不是很清楚):

  1. 一个表单,其中有一个字符串的可自定义部分的输入字段
  2. 一种简单的方法来引用完整的字符串
  3. 管理/管理/验证不可自定义字符串的方法
  4. =>使用两个字段:

    Elasticsearch.Net

    此模型将为您提供Django表单或Django管理员中的两个单独的输入字段,提供简单的方法使class TheModel(Model): # if you have a certain constant number of choices, use ChoiceField # otherwise use a ForeingKey and create a different model for those non_customizable_prefix = ChoiceField(null=False, blank=False, ...) # unique? validators? max/min length? null/blank? customizable_part = CharField(...) @property def complete_string(self): return '{}{}'.format(self. non_customizable_prefix, self. customizable_part) 只读或仅可以使用某些特权进行修改。