TastyPie如何访问对象管理器方法?

时间:2013-11-29 10:46:41

标签: python django

使用TastyPie的obj_create方法我想覆盖包保存并调用我的模型对象管理器方法create_member()但是在尝试这样做时出现以下错误:

Manager isn't accessible via MemberParticipant instances

如何在TastyPie中访问我的对象管理器方法? bundle.obj似乎没有访问权限!

尝试:

def obj_create(self, bundle, request=None, **kwargs):
    bundle.obj = self._meta.object_class()
    bundle.obj.objects.create_member(stuff)
 return bundle

型号:

class MemberManager(models.Manager):
    def create_member(self, email, password=None, **extra_fields):
        """
        Creates and saves new Member Participant with the given email, password and account.
        """
        time_now = timezone.now()
        stuff here


class MemberParticipant(AbstractParticipant):
    email = models.CharField(max_length=50, blank=True)
    objects = MemberManager()
    class Meta:
        app_label = 'participants'

1 个答案:

答案 0 :(得分:1)

在django模型对象上有_default_manager属性,用于存储默认对象管理器实例。您可以尝试使用它。

>>> m=Model1.objects.all()[0]
>>> m._default_manager
<django.db.models.manager.Manager object at 0x2a38b90>
>>> 

但是,我不确定这与tasypie有什么关系。