问题
I want to query a snow flake data schema in django and cannot get it right.
model.py
class City(models.Model):
city_name = models.CharField(max_length=30, default='')
class CityTranslations(models.Model):
language = models.CharField(max_length=2, default='--')
city_name_trans = models.CharField(max_length=30, default='')
city = models.ForeignKey(City)
class Doctor(models.Model):
doctor_name = models.CharField(max_length=30, default='')
city = models.ForeignKey(City)
class DoctorTranslations(models.Model):
language = models.CharField(max_length=2, default='--')
doctor_name_trans = models.CharField(max_length=30, default='')
doctor = models.ForeignKey(Doctor)
Short explanation:
Doctor n:1 City
City 1:n CityTranslations
Doctor 1:n DoctorTranslations #e.g. german, russian, arabic
I want to:
1. get all fields of all tables (selects * from
)
2. receive a list of all doctors
3. with russian translations
So I tried:
views.py
a = Doctor.objects.select_related(doctortranslations__language='ru', citytranslations__language='ru')
But this ends with an error
select_related() got an unexpected keyword argument 'doctortranslations__language'
Any help is appreciated.
回答1:
Doctor.objects.filter(doctortranslations__language='ru',
city__citytranslations__language='ru')
来源:https://stackoverflow.com/questions/33659966/how-to-query-this-snow-flake-data-schema-in-django