Поместите данные из формы в базу данных - Django - sqlite3
Я пытаюсь решить эту проблему. У меня есть кнопки, значения которых отправляются на эту форму... То есть это та самая начальная форма. И экземпляр пользователя. И я хочу отправить данные в базу данных, и я не знаю как... Я буду рад, если вы мне поможете
views.py
def form_create(request, pk):
form = Message()
user = User.objects.get(username=request.user.username, first_name=request.user.first_name, last_name=request.user.last_name, email=request.user.email)
undermessage = Undermessage.objects.get(id=pk)
if not request.user.is_anonymous:
# it is pre-filled
form = Message(request.POST or None,
initial={'email': user.email, 'sender': user.username,
'name': user.first_name, 'surname': user.last_name,
'm1': undermessage.m1, 'm2': undermessage})
if request.method == "POST":
if form.is_valid():
form.save()
return redirect("/")
context = {
'undermessage': undermessage,
'form': form
}
return render(request, 'form.html', context=context)
models.py
class Message(models.Model):
time = models.DateTimeField(auto_now_add=True)
sender = models.ForeignKey(User, null=True, blank=False, on_delete=models.CASCADE)
name = models.CharField(max_length=100, null=True, blank=False)
surname = models.CharField(max_length=100, null=True, blank=False)
m1 = models.ForeignKey(M1, null=False, blank=False, on_delete=models.CASCADE)
undermessage = models.ForeignKey(Undermessage, null=True, blank=True, on_delete=models.CASCADE)
text = models.TextField(blank=True)
какая-то ошибка:
Cannot assign "'usr1'": "M1.sender" must be a "User" instance.
спасибо вам большое!!!