问题
I have the following model --
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)
I have created the following Category
and Credit
objects --
>>> Category.objects.create(category='animation')
>>> Category.objects.create(category='drama')
>>> Credit.objects.create(person='john', position='director')
>>> Credit.objects.create(person='tom', position='writer')
I then 'get' those four objects --
>>> cat1 = Category.objects.get(category='animation')
>>> cat2 = Category.objects.get(category='drama')
>>> cred1 = Credit.objects.get(person='john')
>>> cred2 = Credit.objects.get(person='tom')
But I'm having difficulty creating the Video
object. How would I create the following two objects?
1) Video.objects.create(title='little italy', category=cat1, credits=cred1) ??
2) Video.objects.create(title='new film', category=cat2, credits=cred1, cred2) ??
Thank you.
回答1:
>>> v1 = Video.objects.create(title='little italy', category=cat1)
>>> v1
<Video: little italy>
>>> v1.credits.add(cred1)
...etc...
来源:https://stackoverflow.com/questions/6170583/creating-a-model-object-with-a-m2m-and-fk-relationship