【发布时间】:2014-02-15 10:51:39
【问题描述】:
我正在尝试将 TastyPie Patch 用于多对多,但出现此错误:
"error_message": "Tastypie 需要 Python 风格的路径 () 来延迟加载相关资源。仅给定 'SchemeResource'。",
为什么?
我正在制作的补丁:
/participant/84
POST: {"email":"test@test.com", "schemes":{"id":"12", "schemes"}}
资源:
class ParticipantResource(ModelResource):
schemes = fields.ToManyField('SchemeResource', attribute='schemes', full=True, null=True)
class Meta:
queryset = Participant.objects.all()
resource_name = 'participant'
allowed_methods = ['post', 'get', 'put', 'patch']
第二资源:
class SchemeResource(ModelResource):
user = fields.ToOneField(UserResource, 'user', full=True)
link = fields.ToOneField(SchemeLinkResource, 'link', full=True)
class Meta:
queryset = Scheme.objects.all()
resource_name = 'scheme'
型号:
class Participant(models.Model):
email = models.EmailField(unique=True)
mobile = PhoneNumberField(null=True, blank=True)
date_joined = models.DateTimeField(_('date joined'), default=timezone.now)
schemes = models.ManyToManyField(Scheme)
【问题讨论】: