【发布时间】:2020-08-11 20:40:30
【问题描述】:
每当用户进行新的预订时,我希望使用预订类中的“first_name”、“last_name”和“email”字段自动创建个人资料。
models.py
from django.db import models
from django.db.models.signals import post_save
class Reservation(models.Model):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
email = models.EmailField()
address = models.CharField(max_length=50)
check_in = models.DateField()
check_out = models.DateField()
num_guest = models.IntegerField()
reason = (
('Birthday', 'Birthday'),
('Anniversary', 'Anniversary'),
('Get Away From Kids', 'Get Away From Kids'),
('Vacation', 'Vacation'),
('Treating Myself', 'Treating Myself'),
('Leave Blank', 'Leave Blank'),
)
opt = models.CharField(max_length=120, choices = reason)
def __str__(self):
return "%s %s" % (self.first_name, self.last_name)
class Profile(models.Model):
guest = models.ForeignKey(Reservation, on_delete=models.CASCADE)
def __str__(self):
return "%s" % (self.guest)
def create_profile(sender, instance, created, **kwargs):
post_save.connect(create_profile, sender=Reservation)
我试图不修改 Reservation 类,因为我需要将字段作为 ModelForm。
编码新手,感谢您的指导!
【问题讨论】:
标签: python django django-models