Я новичок в django У меня 8 карт в загрузочных картах, а затем форма для отправки одному пользователю может выбрать только одну комнату, поэтому я написал свои модели как модель комнат, состоящую изданных, и я получаю эти данные в html page rooms.html, и он работает должным образом, но при выборе этой карты, то есть выбранного номера комнаты, должен быть указан как значение скрытого ввода в моей форме, как мне достичь этого?
class rooms(models.Model):
id = models.IntegerField(primary_key=True)
image = models.ImageField(upload_to='images')
content = models.CharField(max_length=50,default='0000000')
class users(models.Model):
email=models.CharField(max_length=50,default='0000000')
password=models.CharField(max_length=50,default='0000000')
room = models.ForeignKey(rooms,on_delete=models.CASCADE)
Мой шаблон формы
div class="card-body">
<form action="{% url 'car:user_register' %}" method="POST">
{% csrf_token %}
<div class="form-group">
<label for="username">Username</label>
<input type="text" name="username" class="form-control" required>
</div>
<div class="form-group">
<label for="room"></label>
<input type="hidden" name="room" class="form-control" value="{{i.id}}" required>
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="text" name="email" class="form-control" required>
</div>
<div class="form-group">
<label for="password2">Password</label>
<input type="password" name="password" class="form-control" required>
</div>
<input type="submit" value="Register" class="btn btn-secondary btn-block">
</form>
И в views.py
def user_register(request):
if request.method == 'POST':
room = request.POST["room"]
username=request.POST["username"]
email = request.POST['email']
password = request.POST['password']
user = users( password=password,email=email)
user.save()
return render(request,'home.html')
Ошибка: IntegrityError в / car / user_register /