非常简单:我有一个User资源和一个Item资源,只要登录用户创建一个新Item,我希望系统自动使用经过身份验证的用户user_id
创建新的Item资源。简单吧?
class Item( models.Model ):
user = models.ForeignKey( User, related_name="item" )
nCries = models.IntegerField(blank=True, null=True, )
class ItemResource( MyModelResource ) :
user = fields.ToOneField( 'app.api.UserResource','user',full=True,null=True)
class Meta:
queryset = Item.objects.all()
resource_name = 'item'
authorization= Authorization()
authentication = SessionAuthentication()
如何使用tastypie进行此操作?
obj_create(self, bundle, **kwargs):
不会对我这样做,因为我无法访问请求对象以将bundle.user.id更改为经过身份验证的用户ID。
任何想法都赞赏!
THX
答案 0 :(得分:1)
也可以通过bundle.request
属性访问。请注意,此属性不是必需的,因此可能并非总是可用(通常在使用常规tastypie请求 - 响应周期之外的方法时)。