| |||
Respuesta: django content types left join a ver ... yo tengo un modelo Encuestado relacionando al modelo usuario
Código:
El modelo usuario vemos la relacion que tiene con su companiaclass Encuestado(models.Model): usuario = models.ForeignKey('CUser') encuesta = models.ForeignKey('Surveys.Survey') .....
Código:
y la compania tiene sede en un paisclass CUser(AbstractBaseUser): company = models.ForeignKey(Company)
Código:
Si yo quiero saber los Encuestados que su empresa tiene sede en argentina puedo usarclass Company(models.Model): country = models.ForeignKey(CitiesLightCountry, null=True, blank=True)
Código:
Si yo quiero tambien excluir companias cipayas puedo usarencuestados_de_argentina = Encuestado.objects.filter(usuario__company__country_name="argentina")
Código:
o si ya tenemos una instancia del encuestado, podemos usar el dot operatorencuestados_de_argentina = Encuestado.objects.exclude(usuario__company_name="clarin").filter(usuario__company__country_name="argentina")
Código:
(gpegasus_project)desarrollo@cloud:~/public_html/web/gpegasus_project$ python manage.py shell Python 2.7.3 (default, Jan 2 2013, 13:56:14) [GCC 4.7.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>> from CompanyUser.models import Encuestado >>> encuestado=Encuestado.objects.get(pk=1) >>> encuestado.usuario.company <Company: Diagnosis> >>> encuestado.usuario.company.country <CitiesLightCountry: Argentina> >>> encuestado.usuario.company.country.name u'Argentina' Última edición por germangutierrez; 13/01/2015 a las 20:26 |
Etiquetas: |