1

我正在使用 django-restful-framework 和 django 1.5

我无法发布。很难解释,所以让我们从例子开始。

模型.py

class Project(models.Model):
    project_name = models.CharField(max_length=100)
    project_description = models.CharField(max_length=100)


class Task(models.Model):
    project = models.ForeignKey(Project, related_name='task')
    task_title = models.CharField(max_length=100)

序列化程序.py

class TaskSerializer(serializers.ModelSerializer):
    class Meta:
        model = Task
        fields = ('task_title')

class ProjectSerializer(serializers.ModelSerializer):
    task = TaskSerializer(many=True)

    class Meta:
        model = Album
        fields = ('project_name', 'project_description', 'task')

当我这样做时,django-rest-framework 中的 viewsets.ModelViewSet 显示任务的文本字段: 在此处输入图像描述

但是我在未填写任务字段的情况下发布时出现错误:

add() argument after * must be a sequence, not NoneType

有没有一种很好的方法可以将项目连接到任务,这样我就可以在没有任务的情况下创建项目,并在项目中创建尽可能多的任务?尽管模型中有不同的字段,但 /project 和 /task 也显示相同的表单。

我现在使用 django-rest-framework 默认视图来测试 api。

ps 我试图写得尽可能清楚,如果我遗漏了一些东西以获得更好的帮助,请告诉我。

4

2 回答 2

1

Django REST页面上,它说:

Note that nested relationships are currently read-only.

“只读”会使发布有点困难;)

于 2013-08-15T17:40:27.430 回答
0

通过使用“ HyperlinkedRelatedField ”解决了我的问题,只需获取每个链接即可检索信息。

于 2013-08-15T19:22:33.130 回答