Python Django-在保存另一个模型期间保存一个模型
我需要在创建moden假期后在模型表中创建记录。我有一个员工创建了一个假期,假期期间的每个日期都必须转到model TabelPython Django-在保存另一个模型期间保存一个模型,python,django,django-models,Python,Django,Django Models,我需要在创建moden假期后在模型表中创建记录。我有一个员工创建了一个假期,假期期间的每个日期都必须转到model Tabel name = models.CharField('Name', max_length = 20) last_name = models.CharField('Last name', max_length = 20) def __str__(self): return self.last_name class Vacatio
name = models.CharField('Name', max_length = 20)
last_name = models.CharField('Last name', max_length = 20)
def __str__(self):
return self.last_name
class Vacation(models.Model):
employee = models.ForeignKey(Employee, on_delete = models.SET_NULL, blank = True, null = True)
vacation_type = models.ForeignKey(VacationType, on_delete = models.SET_NULL, blank = True, null = True)
date_creation = models.DateTimeField(auto_now = True)
start_date = models.DateField()
end_date = models.DateField()
duration = models.DurationField(default=timedelta)
class Tabel(models.Model):
employee = models.ForeignKey(Employee, on_delete = models.SET_NULL, blank = True, null = True)
date = models.DateField()
day_type = models.ForeignKey(TabelType, on_delete = models.SET_NULL, blank = True, null = True)
late_changes = models.BooleanField(default = False)
我从Django开始。假期创建后,我应该使用什么更新模型选项卡?
提前感谢您的建议 如评论中所述,您可以使用Django信号: models.py或signals.py
from django.db.models.signals import post_save
@receiver(post_save, sender=Vacation)
def create_tabel(sender, instance, created, **kwargs):
if created:
Tabel.objects.create(employee=instance.employee)
另一个选项是覆盖职业
方法:
这回答了你的问题吗?
def save(self, *args, **kwargs):
is_new = True if not self.id else False
super(Book, self).save(*args, **kwargs)
if is_new:
Tabel.objects.create(employee=self.employee)