How to query this (snow flake) data schema in django

谁说我不能喝 提交于 2019-12-13 02:03:12

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!