2011-05-03 9 views
0
class MyArticle(models.Model): 
    id = models.CharField(max_length=150, primary_key=True) 

    def __unicode__(self): 
     return self.id 

class UserProfile(models.Model): 
    username = models.CharField(max_length=765) 
    clicks = models.ManyToManyField(MyArticle, through='ClickEvent') 

    def __unicode__(self): 
     return self.username 

class ClickEvent(models.Model): 
    article = models.ForeignKey(MyArticle) 
    user = models.ForeignKey(UserProfile) 
    timestamp = models.DateTimeField() 



art = MyArticle.objects.create(id = article_id) 
eusr = UserProfile.objects.create(username = username) 
cl = ClickEvent(article = art, user = eusr, timestamp = datetime.now()) 
cl.save() 

이 객체는 모두 생성되지만 클릭을 저장하려고하면 실패하고 왜 그럴 수 없습니까?django 객체를 mysql에 저장할 수 없다. (ManyToManyField)

cl.save() #이

실패 나는 여기에 설명 된 단계를 따라하지만 실종 된 것만 볼 수없는 것. http://docs.djangoproject.com/en/dev/topics/db/models/#many-to-many-relationships

+1

당신은 받고 어떤 오류? – rzetterberg

+0

문제가 해결되었습니다. 다음과 같은 오류가 발생했습니다 : (1054, "필드 목록 '에서 알 수없는 열'문서 ') 문제는 syncdb가 생성 된 테이블을 업데이트하지 않기 때문에 먼저 삭제해야하며 다시 생성해야한다는 것입니다. . http://stackoverflow.com/questions/293300/unknown-column-user-id-error-in-django-view – Oliver

답변

0

가 먼저 예술과 eusr 항목을 저장하는 시도 되세요 - 예 :

art.save() 
eusr.save() 

cl.save()를 호출하기 전에

+0

'create'는 자동으로 그렇게하므로 문제는되지 않습니다. –

관련 문제