2011-05-29 62 views
0

模型对象,我有以下模型 -创建了M2M和FK关系

class Category(models.Model): 
    category = models.CharField(max_length=100) 

class Credit(models.Model): 
    person = models.CharField(max_length=100) 
    position = models.CharField(max_length=100) 

class Video(models.Model): 
    title = models.CharField(max_length=100) 
    category = models.ForeignKey(Category) 
    credits = models.ManyToManyField(Credit) 

我已经创建了如下CategoryCredit对象 -

>>> Category.objects.create(category='animation') 
>>> Category.objects.create(category='drama') 
>>> Credit.objects.create(person='john', position='director') 
>>> Credit.objects.create(person='tom', position='writer') 

我再“得到”这四个对象 -

>>> cat1 = Category.objects.get(category='animation') 
>>> cat2 = Category.objects.get(category='drama') 
>>> cred1 = Credit.objects.get(person='john') 
>>> cred2 = Credit.objects.get(person='tom') 

但我在创建时遇到困难对象。我将如何创建以下两个对象?

1) Video.objects.create(title='little italy', category=cat1, credits=cred1) ?? 
2) Video.objects.create(title='new film', category=cat2, credits=cred1, cred2) ?? 

谢谢。

+1

尝试像[这里](https://docs.djangoproject.com/en/dev/topics/db/queries/#saving-foreignkey-and- manytomanyfield场)。 – 2011-05-29 21:50:42

回答

4
>>> v1 = Video.objects.create(title='little italy', category=cat1) 
>>> v1 
<Video: little italy> 
>>> v1.credits.add(cred1) 

...等...