0

UserResource 内にプロファイル データを追加しようとしていますが、その方法が見つかりません。

次のように、 docsにあるコードを少し調整しました。

class UserResource(ModelResource):
    profile = fields.ForeignKey(UserProfile, 'profile', full=True)

    class Meta:
        queryset = User.objects.all()
        resource_name = 'user'
        excludes = ['email', 'password', 'is_active', 'is_staff', 'is_superuser']

        #authentication = BasicAuthentication()
        authorization = DjangoAuthorization()

    def dispatch(self, request_type, request, **kwargs):

        kwargs['profile'] = request.user.get_profile()
        return super(UserResource, self).dispatch(request_type, request, **kwargs)

しかし、私にこのエラーを与えています:

error_message: Cannot resolve keyword 'profile' into field. Choices are: date_joined, email, first_name, groups, id, is_active, is_staff, is_superuser, last_login, last_name, logentry, password...

これを解決する方法はありますか?

ありがとう!

4

1 に答える 1

0

ProfileResourceまず、モデルだけでなくを使用していることを確認します。User.profileプロファイルに解決される 2 番目。だから多分次のようなもの:

class UserResource(ModelResource):
    profile = fields.ForeignKey('myapp.api.resources.ProfileResource', 'profile', full=True)

    class Meta:
        queryset = User.objects.all()
        resource_name = 'user'
        excludes = ['email', 'password', 'is_active', 'is_staff', 'is_superuser']

        #authentication = BasicAuthentication()
        authorization = DjangoAuthorization()
于 2012-04-04T11:50:19.363 に答える