I have a signals file that I would like to be run every time a child is created. For some reason, it has created the default information for one child but if another one is added, it does not create the default information. Does not work for other users either, it has for some reason only worked for my account.
signals.py file:
from django.db.models.signals import post_save
from django.dispatch import receiver
from children.models import Children
from .models import Timeline
@receiver(post_save, sender=Children)
def init_new_child(instance, created, raw, **kwargs):
# raw is set when model is created from loaddata.
if created and not raw:
Timeline.objects.create(header = "Financial Support", age = "0-4",children=instance)
Timeline.objects.create(header = "Financial Support", age = "4-11",children=instance)
Timeline.objects.create(header = "Financial Support", age = "11-18",children=instance)
Timeline.objects.create(header = "Financial Support", age = "18-25",children=instance)
Timeline.objects.create(header = "Educational Support", age = "0-4",children=instance)
Timeline.objects.create(header = "Educational Support", age = "4-11",children=instance)
Timeline.objects.create(header = "Educational Support", age = "11-18",children=instance)
Timeline.objects.create(header = "Educational Support", age = "18-25",children=instance)
Timeline.objects.create(header = "Governmental Support", age = "0-4",children=instance)
Timeline.objects.create(header = "Governmental Support", age = "4-11",children=instance)
Timeline.objects.create(header = "Governmental Support", age = "11-18",children=instance)
Timeline.objects.create(header = "Governmental Support", age = "18-25",children=instance)
Timeline.objects.create(header = "Charity Support Groups", age = "0-4",children=instance)
Timeline.objects.create(header = "Charity Support Groups", age = "4-11",children=instance)
Timeline.objects.create(header = "Charity Support Groups", age = "11-18",children=instance)
Timeline.objects.create(header = "Charity Support Groups", age = "18-25",children=instance)
Timeline.objects.create(header = "Therapy Support", age = "0-4",children=instance)
Timeline.objects.create(header = "Therapy Support", age = "4-11",children=instance)
Timeline.objects.create(header = "Therapy Support", age = "11-18",children=instance)
Timeline.objects.create(header = "Therapy Support", age = "18-25",children=instance)
Timeline.objects.create(header = "Transport Support", age = "0-4",children=instance)
Timeline.objects.create(header = "Transport Support", age = "4-11",children=instance)
Timeline.objects.create(header = "Transport Support", age = "11-18",children=instance)
Timeline.objects.create(header = "Transport Support", age = "18-25",children=instance)
Children model:
from django.db import models
from django.contrib.auth.models import User
from PIL import Image
from django.urls import reverse
DIAGNOSIS_CHOICES = [
(1, ("Yes")),
(2, ("No"))
]
class Children(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
age = models.CharField(max_length=100)
diagnosis = models.IntegerField(
choices= DIAGNOSIS_CHOICES,
)
disability = models.CharField(max_length=100)
parent = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return self.first_name + " " + self.last_name
def get_absolute_url(self):
return reverse('children-detail', kwargs={'pk': self.pk})*
Timeline model:
from django.db import models
from django.contrib.auth.models import User
from posts.models import PDF
from children.models import Children
HEADER_CHOICES = [
('Financial Support', 'Financial Support'),
('Educational Support', 'Educational Support'),
('Governmental Support', 'Governmental Support '),
('Charity Support Groups', 'Charity Support Groups'),
('Therapy Support', 'Therapy Support '),
('Transport Support', 'Transport Support ')
]
AGE_CHOICES = [
('0-4', '0-4'),
('4-11', '4-11'),
('11-18', '11-18'),
('18-25', '18-25')
]
class Timeline(models.Model):
header = models.CharField(max_length=30, choices=HEADER_CHOICES)
age = models.CharField(max_length=6, choices=AGE_CHOICES)
child = models.OneToOneField(Children, on_delete=models.CASCADE)
class Pdf(models.Model):
pdf = models.FileField(upload_to='timelinepdfs')
timeline = models.ForeignKey(Timeline, on_delete=models.CASCADE)