models.py class Shops(models.Model):
user = models.TextField()
username = models.CharField(max_length=100)
password = models.CharField(max_length=128)
views.py
def post(request):
form = NewStoreForm(request.POST)
if form.is_valid():
login = form.cleaned_data['username']
passwd = form.cleaned_data['password']
data = NewStore()
text = data.add_new_store(login,passwd)
if text == "Магазин добавлен":
instance = form.save(commit=False)
instance.user = request.user, instance.save()
Вот и ответ
instance.user = request.user instance.save() должно быть на разных строчках
У него вообще user был TextField
менял, но решил сделать скрытое поле в форме и поэтому Text переменил
еще судя по коду у тебя условие if text == "Магазин добавлен" никогда не отработает, вообще посиди, сделай комментарий к каждой строке что ты считаешь там происходит и что находится в переменной по твоему мнению, мне кажется ты не совсем это представляешь
условие срабатывает, логика в service
в базу по прежнему user не попадает, 1 пишется
if text == "Магазин добавлен": instance = form.save(commit=False) instance.user = request.user instance.save() return redirect(reverse("setting")) return render(request, 'shop/store.html', {"form": NewStoreForm(), "text": text})
def post(request): form = NewStoreForm(request.POST) if form.is_valid(): instance = form.save(commit=False) if здесь правильное условие: instance = form.save(commit=False) instance.user = request.user instance.save()
Что возвращает add_new_store?
а, ок, понял идею
это у него сервисный слой, который видимо возвращает строку
Обсуждают сегодня