排序我有兩個型號:Django的:通過特定backwared相關的屬性
class Video(models.Model):
slug = models.SlugField(blank=True, default='', db_index=True, unique=True)
class VideoTranslation(models.Model):
video = models.ForeignKey(Video, related_name='translations')
language = models.CharField(max_length=3, choices=settings.LANGUAGES)
name = models.CharField(max_length=255, db_index=True)
視頻包含視頻的一些infromation,視頻翻譯包含翻譯這些影片的名字。
我想從一種語言的視頻模型中獲取它。
有可能通過SQL查詢是這樣的:
SELECT * FROM video_video IN join video_videotranslation ON video_video.id = video_videotranslation.video_id where video_videotranslation.language="en" ORDER BY video_videotranslation.name;
,但我真的想避免原始的SQL查詢。
是否有可能使這種查詢只依賴於Django ORM?
video.objects.select_related(深度= 1).filter(videotranslation__language = '恩')。ORDER_BY( 'videotranslation__name') – 2012-02-20 11:44:16
爲什麼不使用類似的Django modeltranslation?用django-localeurl(或django 1.4)可以爲你節省大量的工作。 – jpic 2012-02-20 11:52:37
Modeltranslation是偉大的應用程序,但我有很多的模型,完成了數據庫結構,這是我從以前develeoper了(它比例如,在複雜得多)。將它轉換爲模型轉換格式會嚇到我一點。 – 2012-02-20 14:01:47