ホーム>source

私はカテゴリのような2つのテーブルを持ち、モデルのアイテムにはカテゴリの外部キーがありますが、ここでは4つのカテゴリと12のアイテムがあり、各カテゴリには3つのアイテムがありますクエリセットを作成して同じカテゴリのアイテムを取得するクエリセットを作成する方法 私はSQLクエリを書く方法を知っています( select * from category where category_id =1; )。 d'jangoクエリセットでの記述方法。

あなたの答え
  • 解決した方法 # 1

    Djangoクエリを使用してこれを実現できます。

    Item.objects.filter(category__id=1)
    
    

  • 解決した方法 # 2

    Kamilの回答で述べたように、フィルターを使用することも、SQLクエリをそのまま使用する場合は、生のクエリを使用することもできます。例(公式ドキュメントから引用)-

    class Person(models.Model):
        first_name = models.CharField(...)
        last_name = models.CharField(...)
        birth_date = models.DateField(...)
    
    

    そしてそれをクエリすると-

    # querying with SQL raw query
    for p in Person.objects.raw('SELECT * FROM myapp_person'):
    
    

    そしてあなたの場合-

    # assuming your query is correct
    Item.objects.raw('select * from category where myapp_category_id = 1')
    
    

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ python - django Enterを押すと、^ Mが表示されます