I'm trying to create 52 objects of this model, (each corresponding 52 weeks of the year):
from django.db.models import OneToOneField, TextField, IntegerField, Model, CASCADE
from main_app.models import Master
class WeeklyMemo(Model):
master = OneToOneField(Master, on_delete=CASCADE)
week_of_year = IntegerField(null=True)
comments = TextField(null=True)
and my signal function is like this (when I do this, I get only one object instead of expected 52; I get only week 1):
from django.db.models.signals import post_save
from django.dispatch import receiver
from main_app.models import Master
from memo.models import WeeklyMemo
@receiver(post_save, sender=Master)
def create_weekly_memo_objects(sender, instance, **kwargs):
for week in range(1, 53):
WeeklyMemo.objects.create(master=instance, week_of_year=week)
and when I put the for loop in outer scope, (I get only one object instead of expected to 52; I get only week 52)
for week in range(1, 53):
@receiver(post_save, sender=Master)
def create_weekly_memo_objects(sender, instance, **kwargs):
WeeklyMemo.objects.create(master=instance, week_of_year=week)
What can I do to fix this, so that 52 objects of WeeklyMemo
class are created?