2017-02-01 1 views
0

데이터를 저장해야하는데 그 중 일부는 미리 정의되어 있지만 사용자가 사용자 정의 할 수 있습니다. 이러한 데이터를 데이터베이스에 저장하는 가장 좋은 방법은 무엇입니까?데이터베이스 변경 가능 필드

  1. 2 필드 1 소정 옵션 정수 필드되며 제 윌 {미리 같은 JSON 포함 커스텀 사용자 입력
  2. 1 문자열 필드의 문자열이 될 것이다 : 2 맞춤 : ''}
  3. 의지 (요청 과정에서 변환) 사용자 정의 문자열이나 미리 정의 된 옵션 ID를 포함
  4. 1 문자열 필드
  5. 의지가 미리 정의 된 옵션 중 일부 (미리 정의 된 경우에도 전체 텍스트 옵션을 포함
  6. 1 문자열 필드 수 긴 텍스트 임)

나는 1)을 시도했지만 각 "사용자 정의 준비"데이터에 대한 필드 수가 두 배로 완벽하지는 않습니다 ...

어떤 생각? 당신이 (이 질문에서 매우 분명하지 않다) 다음을해야 할 수도 있습니다 고려

+0

좋은 예가 될 것입니다. 어떤 Django 버전과 어떤 RDBMS를 사용하고 있습니까? – Risadinha

답변

0

:

  1. 문자열
  2. 의 사용자 정의 부분을 참조 할 수있는 쉬운 방법을위한 입력 필드가 양식 전체 문자열

는 => 두 필드를 사용하는 사용자 지정할 수없는 문자열을 확인/관리/관리 할 수있는 방법 :

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 관리자의 두 개의 별도 입력 필드를 제공하며 non_customizable_prefix을 읽기 전용으로 만들거나 특정 권한으로 만 수정할 수있는 쉬운 방법을 제공합니다.