6

有人可以提供一个通过 django-tastypie 和骨干关系操作 django.db 模型实例的多对多字段的示例吗?现在可以使用中间模型。

from django.db import models

class Author(models.Model):
    name = models.CharField(max_length=42)    

class Book(models.Model):
    authors = models.ManyToManyField(Author, related_name='books', through='Authorship')
    title = models.CharField(max_length=42)

class Authorship(models.Model):
    author = models.ForeignKey(Author)
    book = models.ForeignKey(Book)

以下是可能的美味派资源配置:

from tastypie import fields, resources

class AuthorResource(resources.NamespacedModelResource):
    books = fields.ToManyField('library.api.resources.AuthorshipResource', 'books')

    class Meta:
        resource_name = 'author'
        queryset = models.Author.objects.all()

class BookResource(resources.NamespacedModelResource):
    authors = fields.ToManyField('library.api.resources.AuthorshipResource', 'authors')

    class Meta:
        resource_name = 'book'
        queryset = models.Book.objects.all()

class AuthorshipResource(resources.NamespacedModelResource):
    author = fields.ToOneField('library.api.resources.AuthorResource', 'author')
    book = fields.ToOneField('.api.resources.BookResource', 'book')

    class Meta:
        resource_name = 'authorship'
        queryset = models.Authorship.objects.all()

如何使用对我们服务器的一个请求来保存与一些尚未保存的书籍相关的作者?

4

0 回答 0