2013-02-18 50 views
0

我有一个非常简单的ModelResource。基于过滤器的字段排除在tastypie中

class UserResource(ModelResource): 
    class Meta: 
     queryset = CUser.objects.all() 
     resource_name = 'c_user' 

的CUser模式是这样的:

class CUser(models.Model): 
    user = models.OneToOneField(User) 

    ## Some other fields here ## 

    phone = models.IntegerField() 
    show_contact_info = models.BooleanField(default=True) 

现在我想查询集包括所有用户,但我要排除的phone领域没有show_contact_info字段设置为True用户。我怎样才能做到这一点?

回答

1
class UserResource(ModelResource): 
    class Meta: 
     queryset = CUser.objects.all() 
     resource_name = 'c_user' 

    def dehydrate(self, bundle): 
     if not bundle.obj.show_contact_info: 
      bundle.data.pop(phone) 

     return bundle