2013-06-10 1 views
0

현재 일부 비디오 자습서에서 django를하고 있습니다. 나는 뒤에 오는 과실에 선을 알아 내게 곤란했다.Django 1.3.1 - 스레드에서 처리되지 않은 예외가 발생했습니다.

Validating models... 

Unhandled exception in thread started by <bound method Command.inner_run of <django.contrib.staticfiles.management.commands.runserver.Command object at 0xb6e5722c>> 
Traceback (most recent call last): 
File "/usr/lib/python2.7/dist-packages/django/core/management/commands/runserver.py", line 88, in inner_run 
self.validate(display_num_errors=True) 
File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 253, in validate 
raise CommandError("One or more models did not validate:\n%s" % error_text) 
django.core.management.base.CommandError: One or more models did not validate: 
events.event: 'attendees' specifies an m2m relation through model Attendence, which has not been installed 

나는 bitbucket에 소스 코드를 포함 시켰습니다.

답변

0

이벤트 클래스의 models.ManyToManyField()에서 나는이 문제의 원인이되는 through에 잘못된 이름을 넣었습니다. 나중에 올바른 클래스 이름으로 해결하고 문제를 해결했습니다.

related_name을 추가 또한 Django syncdb error: One or more models did not validate 저를 제안

... 
class Event(models.Model): ##error 
    #"""docstring for Event""" 
    description = models.TextField() 
    creation_date = models.DateTimeField(default = datetime.now) #if you put the parenthesis on datetime.now every time changing the date called new function with different date and time 
    start_date = models.DateTimeField(null = True,blank = True) 
    creator = models.ForeignKey(User,related_name='event_creator_set') 
    attendees = models.ManyToManyField(User,through='Attendance') #error occurs due to wrong class name on through 
    latest = models.BooleanField(default = True) 

    objects = EventManager() 
    def __unicode__(self): 
     return self.description 

    def save(self,**kwargs): 
     Event.objects.today().filter(latest=True, 
      creator=self.creator).update(latest=False) 
     super(Event,self).save(**kwargs) 

class Attendance(models.Model): ##error 
    user = models.ForeignKey(User)#,related_name='attendance_user_set') 
    event = models.ForeignKey(Event)#,related_name='attendance_event_set') ###error 
    registration_date = models.DateTimeField(default=datetime.now) 

    def __unicode__(self): 
     return "%s is attending %s" %(self.user.username,self.event) 
... 

같이 model.py 오류를 수정하지만이 포함되어 있지했다 그래서 어떤 오류가 발생하지 않습니다 제외 후.