проблема сохранения записей содержит внешний ключ к sqlite3 с использованием Django и Ajax / json - PullRequest
0 голосов
/ 11 марта 2019

У меня есть две таблицы, такие как: 1. Поставщик (id, имя, адрес) 2. Stoks (id, stok, supplier)

в оболочке python: supplier = Supplier.objects.get (pk = 1) stok = supplier.stoks.create (stok = 'books', supplier)

в models.py:

class Stok(models.Model):
    stok = models.CharField(max_length=30)
    supplier = models.ForeignKey(Supplier, on_delete=models.CASCADE, related_name='stoks')

в views.py:

def new_stok(request, pk):
    supplier = get_object_or_404(Supplier, pk=pk)
    data = dict()

    if request.method == 'POST':
        form = NewStokForm(request.POST)
        if form.is_valid():
            form.save()
            data['form_is_valid'] = True
            stoks = supplier.stoks.all()
            data['html_stok_list'] = render_to_string('stoks.html',{'supplier':supplier,'stoks':stoks})
        else:
            data['form_is_valid'] = False
    else:
        form = NewStokForm()
    context = {'form': form, 'supplier':supplier}
    data['html_form'] = render_to_string('includes/partial_stok_create.html', context, request=request)
    return JsonResponse(data)

в файле javascript:

$("#modal-stok").on("submit", ".js-stok-create-form", function () {
    var form = $(this);
    $.ajax({
      url: form.attr('data-url'),
      data: form.serialize(),
      type: form.attr("method"),
      dataType: 'json',
      success: function (data) {
        if (data.form_is_valid) {
          $("#stok-table tbody").html(data.html_stok_list);  // <-- Replace the table body
          $("#modal-stok").modal("hide");
        }
        else {
          $("#modal-stok .modal-content").html(data.html_form);
        }
      }
    });
    return false;
  });

Входные данные в модальной форме не сохраняются в базе данных sqlite3.запись, которую я хочу сохранить, является данными Stok (содержит внешний ключ поставщика).Там должно быть несколько пропущенных ссылок, но я не могу понять.пожалуйста помоги!где я пропустил?спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...