Creating a model object with a M2M and FK relationship

不羁岁月 提交于 2020-01-25 06:42:27

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!