2017-12-25 40 views
1

데이터베이스 디자인에 대해 읽은 후에 모든 사용자를 위해 하나의 테이블을 사용하기로 결정했습니다.django에서 테이블에 동적으로 필드 추가하기

  • 내 질문은 어떻게 새 사용자가 자신의 데이터를 추가 할 수있는 필드를 만들 수 있습니까?
  • 또한 각 사용자 별 데이터를 검색하는 좋은 방법은 무엇입니까?

이 주제와 관련하여 조언을 주시면 감사하겠습니다.

답변

0

Django를 사용하고 있으므로 Django 설명서 및/또는 시작하기 자습서를 읽는 것이 좋습니다. 웹 사이트의 안내를 따르기 쉽습니다. 가이드의 2 부는 아마 (https://docs.djangoproject.com/en/2.0/intro/tutorial02/) 찾고 있는데, Part 1 (https://docs.djangoproject.com/en/2.0/intro/tutorial01/)부터 읽기 시작할 것입니다. 길지는 않습니다.

장고는 다른 ORM 프레임 워크와 유사한 ORM 기능을 제공합니다. 테이블을 자동으로 생성하려면 먼저 MySQL 데이터베이스의 테이블에 직접 매핑되는 Django 파일에서 "모델"이라는 것을 정의해야합니다. 귀하의 경우에는 "사용자"라는 모델을 정의하게됩니다.

모델을 정의한 후에는 Python CLI "makemigrations"명령을 사용하여 사용자 모델에 대한 관련 마이그레이션 파일을 자동으로 생성 할 수 있습니다. 마이그레이션은 Django가 데이터베이스에서 관련된 테이블을 생성하는 것을 도와주는 중간 파일입니다.

데이터베이스에서 데이터를 검색하는 경우 (사용자별로 다르므로) 데이터베이스에서 적절한 SQL 명령을 자동으로 실행하는 엔드 포인트 세트를 작성해야합니다. 녹이다. 예를 들어, getAllUsers이라는 엔드 포인트를 사용자 테이블에서 모든 사용자 데이터를 검색하여 리턴하는 Python (Django) 함수에 맵핑 할 수 있습니다.

Django 문서는 의 데이터베이스에이라는 쿼리를 만드는 방법을 설명합니다. 이 페이지를 확인하십시오 : https://docs.djangoproject.com/en/2.0/topics/db/queries/

희망이 당신을 도와주세요!

+0

설명해 주셔서 감사합니다. 이미 데이터베이스가 있고 문제가 없다고 말한 것을 잊어 버렸습니다. 찾고자하는 것이 내 데이터베이스를 재구성하여 모든 사용자가 하나의 테이블에 추가 될 것입니다. 따라서 동적으로 추가되어야합니다. 나는 다른 사용자로부터 그 하나의 테이블에있는 각 사용자의 특정 데이터를 분리 할 수있는 방법을 찾고 있는데, 그래서 나는 쿼리를 사용하여 사용자 데이터를 얻을 수있다. – garetHollamdaf

+0

흠, 설명하는 문제를 이해하는지 잘 모르겠습니다. 사용자 테이블이있는 경우 해당 테이블에 여러 개의 열이 있습니다. 예를 들어, "성", "성", "사용자 이름", "암호", "생년월일"등이있을 수 있습니다. 새 사용자를 해당 테이블에 추가 할 때마다 사용자의 이름, 성, 사용자 이름 , 암호 및 생년월일. 그런 식으로 테이블에 존재하는 각 사용자에 대해 단일 행을 갖게됩니다. 각 행에는 다섯 개의 정보가 포함됩니다. 현재 가지고있는 설정입니까? 그렇다면 달성하려는 목표를 명확히 할 수 있습니까? – corecase

+0

물론, 현재 각 사용자마다 40 개의 필드가있는 하나의 모델이 있으므로 100 명의 사용자가 있다면 100 개의 모델이 있습니다. 내가하고 싶은 일은 모든 사용자를 하나의 테이블에만 추가하는 것입니다. 이제이 방법으로 동적으로 (서버가 실행될 때) 필드 (사용자)를 해당 테이블에 추가 할 수 있습니다. 또한 내가 어떻게 하나의 테이블에서 쿼리를 사용하여 사용자 데이터를 얻으려면 어떤 사용자가 어떤 사용자의 것인지 알 수 있습니다. 이 접근법은 이미 업계에서 사용되고 있습니다. – garetHollamdaf

관련 문제