2013-02-11 1 views
0

У меня есть две моделиВкусная поиск пирог

class Business(Basetable): 
name = models.CharField(max_length=120) 
slug = models.SlugField(max_length=150) 
logo=models.OneToOneField("BusinessLogo",null=True,on_delete=models.SET_NULL) 


class Address(models.Model): 
business = models.ForeignKey("Business", related_name='biz_address') 
address1 = models.CharField(max_length=100,null=True) 
address2 = models.CharField(max_length=100,null=True) 
state = models.ForeignKey(States,null=True,on_delete=models.SET_NULL) 
city = models.ForeignKey(City,null=True,on_delete=models.SET_NULL) 

view.py

class BusinessResource(ModelResource): 
class Meta: 
    queryset = Business.objects.filter(status='P').order_by('-id') 
    resource_name = 'business' 
    filtering = { 
     'is_black_business': ALL,   
     'city': ALL_WITH_RELATIONS, 

    } 
def dehydrate(self,bundle): 
if buss_address.city:bundle.data['city'] = buss_address.city.name 
     else:bundle.data['city'] = '' 
    // i am getting city here 

Проблема в том, что мне нужно фильтровать бизнес, используя город .. как я могу это сделать? любая догадка

ответ

1
class BusinessResource(ModelResource): 
    addresses = fields.ToManyField(AddressResource, 'biz_address') 
    class Meta: 
     filtering = { 
        'addresses': ALL_WITH_RELATIONS, 
       } 

class AddressResource(ModelResource): 
    city = fields.ToOneField(CityResource, 'city') 
    class Meta: 
     filtering = { 
        'city': ALL_WITH_RELATIONS, 
        } 

Второй способ заключается в создании пользовательского фильтра путем переопределения методов build_filters и apply_filters.

+0

Благодарим вас, вы снова помогли мне .. спасибо –

+0

Могу ли я получить вашу emaid .. у меня есть много сомнений по Django –

+1

Вы можете получить мою почту из моего профиля, но лучше всего разместить ваши вопросы здесь, в таким образом, больше людей получат от них выгоду, и вы получите более надежные ответы. – UnLiMiTeD

 Смежные вопросы

  • Нет связанных вопросов^_^