嘿,我是django tastypie的新手,我的数据重复时需要帮助 我的todo任务和子任务都有这个模型
class Todo(models.Model):
title = models.CharField(max_length=250)
description = models.TextField()
creation_date = models.DateField(auto_now=True)
due_date = models.DateField(blank=True, null=True)
completed = models.BooleanField(default=False)
parent_task = models.ForeignKey('self', related_name='subtask',
blank=True, null=True)
到目前为止,我所拥有的资源
class TodoResource(ModelResource):
subtask = fields.ToManyField(
"todos.api.SubtakResource", 'subtask',
related_name='subtask', full=True,
null=True, blank=True
)
class Meta:
queryset = Todo.objects.all()
resource_name = 'todo'
authorization = Authorization()
class SubtakResource(ModelResource):
parent = fields.ForeignKey(
"todo.api.TodoResource", 'parent',
use_in='detail', null=True, blank=True
)
class Meta:
queryset = Todo.objects.all()
这就是我得到的结果
{
"meta": {
"limit": 20,
"next": null,
"offset": 0,
"previous": null,
"total_count": 2
},
"objects": [{
"completed": false,
"creation_date": "2018-07-01",
"description": "Have Fun muoy booy",
"due_date": "2018-07-05",
"id": 7,
"resource_uri": "/api/todo/7/",
"subtask": [{
"completed": false,
"creation_date": "2018-07-01",
"description": "Bira",
"due_date": "2018-07-06",
"id": 8,
"parent": null,
"resource_uri": "",
"title": "Drink beer"
}],
"title": "Have Fun"
},
{
"completed": false,
"creation_date": "2018-07-01",
"description": "Bira",
"due_date": "2018-07-06",
"id": 8,
"resource_uri": "/api/todo/8/",
"subtask": [
],
"title": "Drink beer"
}
] }
最后一个结果与两次出现的父级结果相关,我如何停止,请帮助。
还有resouce_uri
字段null
我不知道Tastypie也支持自指关系。如果假设我们将适当的自引用ForeignKey添加到Note模型中,则在tastype中实现类似的关系如下所示:
文件:http://django-tastypie.readthedocs.io/en/latest/resources.html#reverse-relationships
相关问题 更多 >
编程相关推荐