以下のようなモデルがあります。
Python
1# app1.models 2from django.db import models 3 4 5class TestModel(models.Model): 6 test_name = models.CharField(max_length=255) 7 comment = models.CharField(max_length=255) 8 STATUS_CHOICES = ( 9 ("active", "活性"), 10 ("inactive", "不活性") 11 ) 12 status = models.CharField(max_length=80, choices=STATUS_CHOICES, null=True) 13 14 def __str__(self): 15 return self.test_name 16 17class TestInformation(models.Model): 18 test_name = models.ForeignKey(TestModel, on_delete=models.SET_DEFAULT, parent_link=True, default="default_name", related_name="informations") 19 pattern_name = models.CharField(max_length=255) 20 comment = models.CharField(max_length=255) 21 url = models.CharField(max_length=255) 22 23 def __str__(self): 24 return "{0}: {1}".format(self.test_name, self.pattern_name)
TestInformationモデルのオブジェクトをTestModelモデルでフィルタして絞り込みたいのです。
UI(Templates)的には
Urlはhttp://example.com/app1/test
でTestModelの全要素を列挙したもの、
http://example.com/app1/test/3456
のようにTestModelのpkを付けると、URLで渡されたpkと一致するレコードの子要素(TestInformation)をすべて表示するようにしたいです。
Python
1# app1.urls 2urlpatterns = [ 3 url(r'^test/(?P<test_id>[0-9]*)$', views.info_list), 4] 5
Python
1# app1.views 2from .models import TestModel, TestInformatios 3 4 5def info_list(req, test_id): 6 obj = TestModel.objects.get(pk=test_id) 7
この場合viewsの関数では、渡されたpkからどのようにTestModelを絞り込み、参照されているTestInformationの要素を絞り込んで取得すればいいのでしょうか?
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/22 19:15
2017/09/24 15:18
2017/09/25 17:46