2010-10-12 48 views
0
from django.db import models 

class Entry(models.Model): 
    title =  models.CharField(max_length=30,null=False) 
    body_text = models.TextField(max_length=255) 
    author = models.ForeignKey(User) 

    def __unicode__(self): 
     return self.title 

    class Meta: 
     ordering = ('title',) 

class User(models.Model): 
    nick = models.CharField(max_length=25) 
    pwd = models.CharField(max_length=50) 
    entries = models.ManyToManyField(Entry) 

所以,我有一個模型「輸入」有所謂的「作者」 User類型的字段。問題是用戶模型尚未創建,所以當我運行syncdb我得到一個錯誤。Django的,有關係的問題多對多

有人可以幫我解決這個問題嗎?

回答

2

您不需要在兩個類定義中引用模型之間的關係。試試這個:

class User(models.Model): 
    nick = models.CharField(max_length=25) 
    pwd = models.CharField(max_length=50) 

class Entry(models.Model): 
    title =  models.CharField(max_length=30,null=False) 
    body_text = models.TextField(max_length=255) 
    author = models.ForeignKey(User) 

    def __unicode__(self): 
     return self.title 

    class Meta: 
     ordering = ('title',) 
+0

並更改models.ForeignKey到models.ManyToManyField如果每個條目可以有多個作者 – Joshmaker 2010-10-12 21:43:25

+0

感謝Joshmaker :-D – 2010-10-12 21:49:36