我需要创建对象“标签”,其中多对多关系附加到对象“任务”。我有这段代码,但不明白为什么它不起作用。我看到错误无法将关键字“任务”解析为字段。选项有: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)