Я пытаюсь передать вновь созданный идентификатор для новой записи из Models.Manager в представления, чтобы я мог сохранить его как переменную.
views.py
def save_form(request):
item_a = request.POST['item_a']
item_b = request.POST['item_b']
Items.objects.save(item_a, item_b)
print (saved.id)
return redirect ((reverse('project:index')))
models.py
class ItemsManager(models.Manager):
def save(self, item_a, item_b)
item_a = item_a
item_b = item_b
saved= Items.objects.create(
item_a = item_a,
item_b = item_b)
return (True, saved)
class Items(models.Model):
item_a=models.CharField(max_length=255)
item_b=models.CharField(max_length=255)
objects = ItemsManager()
Я пытаюсь получить идентификатор сохраненной записи и отправить его в представления.
Я пытался использовать return saved
, return saved.id
и return save.id
в Диспетчере моделей, чтобы передать его представлениям. Прямо сейчас у меня есть True, saved
, потому что я понял, что это правильный путь после прочтения нескольких постов. Однако, когда я прихожу к просмотру, я не получаю идентификатор, который я хочу. Когда я пытаюсь print (saved.id)
в представлениях, я получаю:
NameError: имя 'сохранено' не определено
Я тоже пробовал во взглядах if save = [0]: print(saved.id)
и получаю:
если сохранено = [0]
^
Ошибка синтаксиса: неверный синтаксис
Прямо сейчас я просто пытаюсь напечатать, но как только я знаю, что значение попадает в представления, я сохраню идентификатор как переменную.
я тоже пробовал if save = True
Как я могу передать вновь созданный идентификатор из моделей. Менеджер в представлениях?
Любая помощь будет оценена.
Обновление
Теперь я изменил views.py на:
def save_form(request):
item_a = request.POST['item_a']
item_b = request.POST['item_b']
Items.objects.save(item_a, item_b)
if save == True:
print("hello")
else:
print ("bad luck!)
return redirect ((reverse('project:index')))
Сохраняет записи в базе данных и возвращает «невезение». Так что экономить как-то нет == Правда.