tôi có mã này:Tastypie - lĩnh vực lồng Resource không tìm thấy
#api model
class VideoResource(ModelResource):
class Meta:
queryset = Video.objects.all()
include_resource_uri = False
resource_name = 'video'
authorization = DjangoAuthorization()
class QuestionResource(ModelResource):
user = fields.ToOneField(UserResource,'user',full=True)
video = fields.ForeignKey(VideoResource,'video',full=True)
class Meta:
queryset = Question.objects.all()
resource_name = 'question'
include_resource_uri = False
authorization = DjangoAuthorization()
def obj_create(self, bundle, request=None, **kwargs):
import json
temp = json.loads(request.body, object_hook=_decode_dict)
video = Video.objects.get(pk=temp['video'])
return super(QuestionResource, self).obj_create(bundle, request, user=request.user, video=video)
#model
class Question(models.Model):
text = models.CharField('Question',max_length=120)
created = models.DateTimeField(auto_now_add=True)
enabled = models.BooleanField(default=True)
flag = models.BooleanField(default=False)
allow_comments = models.BooleanField(default=True)
thumbnail_url = models.CharField(default='video.jpg',blank=True, null=True,max_length=200)
user = models.ForeignKey(User)
video = models.ForeignKey(Video)
def __unicode__(self):
return self.text;
class Video(models.Model):
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now_add=True)
url = models.URLField(default="")
user = models.ForeignKey(User)
def __unicode__(self):
return str(self.pk) + ' > ' + self.status
Vấn đề là tôi nhận được lỗi này khi gửi đối tượng này:
{"video":21,"text":"sadasds"}
Trường 'video' có đã được cung cấp dữ liệu không phải là một URI, không phải là một từ điển là và không có thuộc tính 'pk': 21.
Nếu tôi nhận xét điều này li ne:
video = fields.ForeignKey(VideoResource,'video',full=True)
Tất cả mọi thứ hoạt động tốt, nhưng sau đó tôi không thể nhận được thông tin này (video) khi hỏi đến /api/v1/questions/
Câu hỏi của tôi là:
- Tôi có nên tạo các nguồn lực, từ một đến và một người khác để truy xuất thông tin < - điều này có vẻ không phải là một giải pháp thực sự tốt. hoặc
- Làm cách nào để tạo tài nguyên lồng nhau? Tôi đã cố gắng làm theo ví dụ trên web http://django-tastypie.readthedocs.org/en/latest/cookbook.html#nested-resources nhưng như bạn có thể thấy vì một số lý do không hoạt động.
có thể đôi mắt của bạn có thể giúp tôi tìm ra lỗi :) Cảm ơn!
bạn sẽ plese cung cấp cách bạn gửi yêu cầu? – mhaligowski