Django 数据库可变字段
我必须存储数据,其中一部分是预定义的,但用户可以选择自定义它。 在数据库中存储这些数据的最佳方式是什么Django 数据库可变字段,django,database,model,Django,Database,Model,我必须存储数据,其中一部分是预定义的,但用户可以选择自定义它。 在数据库中存储这些数据的最佳方式是什么 2个字段,1是预定义选项的整数字段,第二个是自定义用户输入的字符串 1字符串字段,该字段将包含类似json的{预定义:2,自定义:“” 1个字符串字段,其中包含自定义字符串或预定义选项id(在请求过程中转换) 1个字符串字段,其中将包含全文选项,即使它是预定义的(其中一些预定义选项可以是长文本) 我尝试了1)但将每个“定制就绪”数据的字段数增加一倍似乎并不完美 有什么想法吗?考虑到您可能需要以
有什么想法吗?考虑到您可能需要以下内容(您的问题不太清楚):
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)
此模型将在Django表单或Django admin中为您提供两个单独的输入字段,提供简单的方法使
不可自定义\u前缀
只读或仅可使用特定权限进行修改。举个例子就好了。您使用的是哪个Django版本和哪个RDBMS?