在tastypie / Django中为经过身份验证的用户创建记录

时间:2013-11-07 19:15:07

标签: post tastypie

非常简单:我有一个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

1 个答案:

答案 0 :(得分:1)

也可以通过bundle.request属性访问。请注意,此属性不是必需的,因此可能并非总是可用(通常在使用常规tastypie请求 - 响应周期之外的方法时)。