小编Рус*_*нов的帖子

Django-rest-framework 创建具有多对多关系的对象

我需要创建对象“标签”,其中多对多关系附加到对象“任务”。我有这段代码,但不明白为什么它不起作用。我看到错误无法将关键字“任务”解析为字段。选项有:id、name、tags、PS 我依赖这篇文章manyToMany with django rest framework

。楷模

class Tag(models.Model):
    name = models.CharField(max_length=200)
    def __str__(self):
        return "{}".format(self.name)

class Task(models.Model):
    name = models.CharField(max_length=200, blank=True)
    tags = models.ManyToManyField(Tag)
    def __str__(self):
        return "{}".format(self.name)
Run Code Online (Sandbox Code Playgroud)

.views

class TagCreateView(generics.ListCreateAPIView):
    serializer_class = TagSerializer

    def get_queryset(self):
        queryset = Tag.objects.all()
        task_id = self.kwargs.get('task_id', None)
        if task_id is not None:
            queryset = queryset.filter(task=task_id)
        return queryset
    def perform_create(self, serializer):
        task_id = self.kwargs.get('task_id', None)
        try:
            tasks = Task.objects.get(task__id__exact=task_id)
        except Task.DoesNotExist:
            raise NotFound()
        serializer.save(tag=tasks)
Run Code Online (Sandbox Code Playgroud)

.serelizers

class TagSerializer(serializers.ModelSerializer):
    class Meta:
        model = Tag
        fields …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

django ×1

django-rest-framework ×1