вставка данных в проблемы django db (ничего не вставляется) - PullRequest
0 голосов
/ 30 декабря 2018

У меня есть приведенный ниже код, пытающийся вставить данные формы в БД.

Я не получаю сообщение об ошибке, но ничего не вставляется, кто-нибудь может мне посоветовать, почему?

просмотр :

from .models import Todo
def create_task(request):
    if request.method == 'POST':
        creator = request.user
        assignee = request.POST.get('assignee') 
        task = request.POST.get('task') 
    i = Todo.objects.create(creator=creator, assignee=assignee, text=task, complete='FALSE')
    i.save(force_insert = True)

модель :

class Todo(models.Model):
    creator = models.CharField(max_length=400, default="none")
    text = models.CharField(max_length=400)
    complete = models.BooleanField(default=False)
    assignee = models.CharField(max_length=400, default="none")
    def __str__(self):
        return self.text

URL :

urlpatterns = [
    url(r'^$', views.todo, name='index'),
    url(r'^$', views.create_task, name='index'),

1 Ответ

0 голосов
/ 30 декабря 2018

Прежде всего, измените ваши URL, чтобы они отличались:

url(r'^$', views.todo, name='index'),
url(r'^create/$', views.create_task, name='create'),

Теперь, когда вы делаете запрос POST или отправляете форму, вы отправляете ее на /create/.

Если вы хотите отправить пользователя обратно на страницу index после создания модели, вы можете использовать функцию redirect.

from django.shortcuts import redirect

def create_task(request):
    # save data ...
    ...
    return redirect('index')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...