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)
ありがとうございました! – TityBoi