2017-11-19 3 views
0

私は2つのモデルを持っています。キャンペーンとプレースメント各プレースメントオブジェクトは1つのキャンペーンオブジェクトにのみ関連しています。すべてのプレースメントに関連するすべてのキャンペーンオブジェクトをリストしたい2つのモデルのすべてのオブジェクトを1つのビューで表示

キャンペーン#1
- 配置#1
- 配置#2
キャンペーン#2
- 配置#3
- 配置#4
...私が行うことができますどのように

1つのビューと1つのテンプレートで

キャンペーンモデル:

class Campaign(models.Model): 
ACTIVE = 1 
INACTIVE = 0 
STATUS_CHOICES = (
    (ACTIVE, 'Active'), 
    (INACTIVE, 'Inactive'), 
) 
CPC = 'cpc' 
CPM = 'cpm' 
CPV = 'cpv' 
status = models.IntegerField(default=1, choices=STATUS_CHOICES) 
client_name = models.ForeignKey(Client, on_delete=models.CASCADE) 
campaign_name = models.CharField(max_length=100) 
start_date = models.DateField(default=datetime.date.today) 
end_date = models.DateField(default=datetime.date.today) 

def __str__(self): 
    name = str(self.client_name) + " - " + self.campaign_name 
    return name 

配置モデル:

class Placement(models.Model): 
ACTIVE = 1 
INACTIVE = 0 
STATUS_CHOICES = (
    (ACTIVE, 'Active'), 
    (INACTIVE, 'Inactive'), 
) 
CPC = 'cpc' 
CPM = 'cpm' 
CPV = 'cpv' 
UNIT_CHOICES = (
    (CPC, 'CPC'), 
    (CPM, 'CPM'), 
    (CPV, 'CPV'), 
) 
status = models.IntegerField(default=1, choices=STATUS_CHOICES) 
campaign_name = models.ForeignKey(Campaign, on_delete=models.CASCADE) 
publisher_name = models.ForeignKey(Publisher, on_delete=models.CASCADE) 
start_date = models.DateField(default=datetime.date.today) 
end_date = models.DateField(default=datetime.date.today) 
unit_type = models.CharField(default='cpc', choices=UNIT_CHOICES, max_length=3) 
units = models.IntegerField(default=0) 
budget = models.IntegerField(default=0) 
budget_spent = models.IntegerField(default=0) 
units_delivered = models.IntegerField(default=0) 

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

答えて

1
{% for campaign in campaigns %} 
    {{ campaign.campaign_name }} 
    {% for placement in campaign.placement_set.all %} 
    {{ placement.status }} 
    {% endfor %} 
{% endfor %} 

注、あなたが本当にあなたの外部キー "foo_name" と呼ぶべきではありません。名前フィールドではなく実際のオブジェクトを指しているので、campaign,clientおよびpublisherと呼びます。

+0

ありがとうございました! – TityBoi

関連する問題