Я новичок, и это мой первый вопрос на этой платформе. я пытаюсь добавить новые комнаты, используя modelform, но получаю IntegrityError (1048, "столбец hotel_id" не может быть пустым "). Мой код, как показано ниже. Я ценю помощь
models.py
class Hotel(models.Model):
name = models.CharField("Hotel Name", max_length=100)
owner = models.OneToOneField(settings.AUTH_USER_MODEL,on_delete=models.CASCADE)
class Meta:
verbose_name_plural = "Hotels"
def __str__(self):
return self.name
class Rooms(models.Model):
room_type = models.CharField(max_length=100)
price = MoneyField(max_digits=65, decimal_places=2, default_currency='USD')
number_available = models.IntegerField()
hotel = models.ForeignKey(Hotel,on_delete=models.CASCADE)
# hotel = models.ForeignKey("Hotel", on_delete=models.CASCADE)
class Meta:
verbose_name_plural = "Rooms"
def __str__(self):
return self.room_type
views.py
Вот часть вида для обработки формы
def new_room(request):
if request.method=='POST':
# hotel = get_object_or_404(Hotel,id =hotel_id)
user = request.user
if user:
form=RoomsForm(request.POST or None)
if form.is_valid():
newroom = form.save(commit=False)
newroom.owner = request.user
newroom.save()
return HttpResponseRedirect('/')
else:
form = RoomsForm(request.POST or None)
return render(request,'newroom_form.html', {"form":form})
forms.py
class RoomsForm(forms.ModelForm):
class Meta:
model = Rooms
fields =['room_type','price','number_available']
Заранее спасибо