2015-08-27 25 views
1

我有像陣列數據庫中的數據,Django的數組串

表A

instant language 
1  english 
1  Indonesia 
2  japan 
2  korea 
2  british 

這是models.py

class A(models.Model): 
    instant = models.ForeignKey(Instant) 
    language = models.ForeignKey(language) 

    def __str__(self): 
     return str(self.language) 

我想使它成爲字符串這樣:

instant language 
1  english,Indonesia 
2  japan,korea,british 

在我使用Django ORM之前,我使用PHP和MySQL,只是使這樣的查詢

select instant,array_to_string(array_agg(language), ',') as unit 
      from A 
      where A.id_language = b.id_language group by A.id_language"); 

如何在ORM中查詢Django?

+1

分享你的努力 –

+0

創建問題時,請遵守http://stackoverflow.com/help/mcve。 –

+0

你可以看到我編輯上面。在我使用php和mysql之前,現在我想更改使用django – User0511

回答

0

您必須使用模型類中的get方法。這將是這樣的。

Class.objects.get(PK) 

你的情況:

object = A.objects.get(language=english) 

的對象,你將有類型的類A的對象之後,你可以獲取信息,並把它傳遞給字符串或做任何你想用它。

編輯:

如果你想選擇全部。

objects = A.objects.all() 

在這種情況下,你將不得不從你的類型對象的數組,你可以在你所希望的方式改造他們。

在Django中進行查詢非常容易,但如果您不小心,它們會變得很慢,並且當您有很多信息時,您的應用程序會很慢。有大量關於查詢的有用信息以及如何使它們在這裏。

https://docs.djangoproject.com/en/1.8/topics/db/queries/