Попытка разобрать всю информацию из модели Tempbooking в модель Booking, если администратор изменит is_active на 'true' в tempbooking django
Это модель:
class Booking(models.Model):
booker = models.CharField(max_length=50)
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
email = models.EmailField()
discount_code = models.CharField(max_length=50, null=True,
blank=True)
guest_no = models.PositiveIntegerField()
arrival_date = models.DateTimeField(auto_now=False,
auto_created=False, auto_now_add=False, null=True,blank=True)
departure_date = models.DateTimeField(null=True,blank=True)
is_active = models.BooleanField(default=False)
class Meta:
db_table = 'booking'
managed = True
verbose_name = 'Booking'
verbose_name_plural = 'Bookings'
class Tempbooking(models.Model):
booker = models.CharField(max_length=50)
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
email = models.EmailField()
discount_code = models.CharField(max_length=50, null=True,
blank=True)
guest_no = models.PositiveIntegerField()
arrival_date = models.DateTimeField(auto_now=False,
auto_created=False, auto_now_add=False, null=True,blank=True)
departure_date = models.DateTimeField(null=True,blank=True)
is_active = models.BooleanField(default=False, null=True,
blank=True)
def __str__(self):
return self.first_name
class Meta:
db_table = ''
managed = True
verbose_name = 'Tempbooking'
verbose_name_plural = 'Tempbookings'
Это форма:
class BookingForm(forms.ModelForm):
discount_code = forms.CharField(required=False)
is_active = forms.HiddenInput()
class Meta:
model = Tempbooking
fields = '__all__'
widgets = {
'booker': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Enter Your username'}),
'first_name': forms.TextInput(attrs={'class':'form-control', 'placeholder':'Enter Your First Name'}),
'last_name': forms.TextInput(attrs={'class':'form-control', 'placeholder':'Enter Your Last Name'}),
'email': forms.TextInput(attrs={'class':'form-control', 'placeholder':'Enter Your Email'}),
'guest_no': forms.NumberInput(attrs={'class':'form-control'}),
'arrival_date': forms.DateTimeInput(attrs={'class':'form-control','type':'date'}),
'departure_date': forms.DateTimeInput(attrs={'class':'form-control','type':'date'}),
'discount_code': forms.TextInput(attrs={'class':'form-control','placeholder':'If our discounted product'})
}
Это представление: def booking(request):
form = BookingForm()
form2 = TempbookingForm()
if request.method=='POST':
form = BookingForm(request.POST)
if form.is_valid() or form2.is_valid:
form2 = TempbookingForm(form)
form2.save()
return redirect('booking')
context = {
'form': form,
}
return render(request, 'booking.html', context)
Я пытаюсь сделать так, чтобы если администратор зайдет на страницу администратора и изменит is_valid на 'True', то вся информация в модели Tempbooking будет сохранена в модели бронирования...Пожалуйста, как мне это сделать?