6

誰かが django-tastypie と backbone-relational を介して 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)

可能なtastypieリソースの構成は次のとおりです。

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()

サーバーへの 1 つのリクエストを使用して、まだ保存されていないいくつかの本に関連する著者を保存する方法は?

4

0 に答える 0