2016-10-19 2 views
0

가상의 학교용 데이터베이스를 만들려고 시도했습니다. Unfortunatley 나는 이런 테이블 마이그레이션 할 때Django는 마이그레이션 할 때 변경 사항이 없음을 말합니다.

C : \ Python34 \ 스크립트 \ schoolDatabase> manage.py makemigrations 학교를

C : \ Python34 \ 스크립트 \ schoolDatabase> 파이썬 manage.py의 makemigrations 학교 없음을 응용 프로그램 '학교'에서 검출 변경

이것은 내가 언급하고있는 모델입니다 : 내가 False로 설정되어 관리되는 경우 마이그레이션 할 때 다음 장고 테이블을 생성하지 않습니다들은

TYPE_OF_PERSON = (
('T', 'Teacher'), 
('S', 'Student'),) 
DETENTION_COMPLETED = (
('Y', 'Yes'), 
'N', 'No' 
OUTCOME = (
('P', 'Pass'), 
('F', 'Fail') 
) 
class Person: 
first_name = models.CharField(max_length = 25) 
surname = models.CharField(max_length = 25) 
address = models.CharField(max_length = 45) 
year_group = models.CharField(max_length = 10) 
form = models.CharField(max_length = 15) 
type_of_person = models.CharField(choices = TYPE_OF_PERSON) 
person_id = models.CharField(primary_key = True) 

class Subject: 
name = models.CharField(max_length = 25) 
class SchoolClass: 
class_id = models.IntegerField(primary_key = True) 
person_id = models.ForeignKey('Person') 
subject = models.ForeignKey('Subject') 
year_group = models.ForeignKey('Person') 

class Attendance: 
school_class = models.ForeignKey('SchoolClass') 
date = models.DateField() 
start_time = models.TimeField() 
end_time = models.TimeField() 
person_id = models.ForeignKey('Person') 

class Assignment: 
assignment_id = models.IntegerField(primary_key = True) 
subject = models.ForeignKey('Subject') 
school_class = models.ForeignKey('SchoolClass') 
teacher = models.ForeignKey('Person') 
description =models.TextField() 
date_set = models.DateField() 
due_date = models.DateField() 
mark = models.CharField(max_length = 20) 
comments = models.TextField() 

class Detention: 
detention_date = models.DateField() 
student_id = models.ForeignKey('Person') 
reason = models.CharField(max_length = 30) 
completed = models.CharField(choices = DETENTION_COMPLETED) 

class Exam: 
exam_id = models.IntegerField(primary_key = True) 
subject = models.ForeignKey('Subject') 
paper = models.CharField(max_length = 30) 
score = models.CharField(max_length = 20) 
outcome = models.CharField(choices = OUTCOME) 

,하지만 난 돈 어떻게 해야할지 모르겠다. 그것은 참이다. 난에 입력하면

: 그것은 inspectdb

manage.py False로 설정되어 관리되는 것을 나에게 보여하지만 내 데이터베이스 마이그레이션 할 수 있도록 나는 True로 어떻게 변경합니까?

C : \ Python34 \ 스크립트 \ schoolDatabase> manage.py makemigrations 학교

C : \ Python34 \ 스크립트 \ schoolDatabase> 파이썬 manage.py의 makemigrations 학교 어떤 변화가 감지되지 여기

는 역 추적입니다

enter image description here: 응용 프로그램 '학교'에서 여기

                              class DjangoMigrations(models.Model):        id = models.IntegerField(primary_key=True) # AutoField?  app = models.CharField(max_length=255)       name = models.CharField(max_length=255)      applied = models.DateTimeField()                        class Meta:              managed = False            db_table = 'django_migrations'       

트리입니다 enter image description here

불쌍한 형식에 대해 미안하지만 stackoverflow는 코드 블록에 넣을 수 없습니다.

도움을 주시면 감사하겠습니다.

Settings.py : models.Model에서 파생한다

INSTALLED_APPS =[ 
'django.contrib.admin', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.messages.', 
'django.contribe.staticfiles', 
'school' 
] 
+0

??? 다른 마이그레이션 코드도 표시 할 수 있습니까 ?? –

+0

첫 번째 마이그레이션이 아닙니다. –

+0

OK, settings.py 파일과 프로젝트 트리를'./manage.py makemigrations --initial school'과 함께 시도해보십시오. –

답변

0

귀하의 모델 :

당신이 전에 몇 가지 마이그레이션을 적용했습니다
class Person(models.Model): 
... 
class Subject(models.Model): 
... 
... 
관련 문제