使用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'
答案 0 :(得分:1)
在django模型对象上有_default_manager
属性,用于存储默认对象管理器实例。您可以尝试使用它。
>>> m=Model1.objects.all()[0]
>>> m._default_manager
<django.db.models.manager.Manager object at 0x2a38b90>
>>>
但是,我不确定这与tasypie有什么关系。