2

モデルは

class Article(models.Model):
    title = models.CharField(max_length=30)

class Categories(models.Model):
    article = models.ForeignKey(Article)
    name = models.CharField(max_length=30)

drf-extensions を使用する可能性があり、どのように使用できますか。

のような URL を設定する方法

/api/article/92285/categories

GET、POST、および PUT の応答を提供できる必要があります。

以下のフォーマットから

{
  "article_id": 92285,
  "views": 0,
  "downloads": 0,
  "shares": 0,
  "handle_url": "",
  "title": "Test dataset",
  "defined_type": "dataset",
  "status": "Drafts",
  "published_date": "",
  "description": "Test description",
  "total_size": 0,
  "owner": {
    "id": 13483,
    "full_name": "John  Carter"
  },
  "authors": [
    {
      "first_name": "John ",
      "last_name": "Carter",
      "id": 13483,
      "full_name": "John Carter"
    }
  ],
  "tags": [

  ],
  "categories": [
  {
    "id": 135,
    "name": "Technology"
  },
  ]


  "files": [

  ]
}

--
4

1 に答える 1

0

これは DRF での動作の概要ですが、初めての方は公式チュートリアルを参照することをお勧めします。ここですべての詳細について言及することはできません。それはあなたが何を求めているのか全体のチュートリアルです:

serializers.py

class CategorySerializer(serializers.ModelSerializer):
    class Meta:
        model = Categorie

class ArticleSerializer(serializers.ModelSerializer):
    categories = CategorySerializer(many=True, read_only=true)

    class Meta:
        model = Article

ビュー.py

class ArticleListCreateApiView(generics.ListCreateAPIView):
    model = Article
    queryset = Article.objects.all()
    serializer_class = ArticleSerializer

class ArticleUpdateApiView(generics.UpdateAPIView):
    model = Article
    serializer_class = ArticleSerializer

    def get_object(self):
        boby_data = self.request.data
        id = self.kwargs['id']
        # ... data processing

urls.py

url(r'article/(?P<id>\d+)/categories$', ArticleUpdateApiView.as_view())
于 2015-12-21T13:11:34.403 に答える