DJANGO - Добавление/обновление/удаление строки в таблице с резервной копией в базе данных sqlite

Привет всем :) (извините за мой плохой английский, у вас будет французский акцент x) )

Я застрял в своем проекте, потому что мне нужно обновить данные, уже отображенные моделью (объекты базы данных).

Итак, мне нужно добавить строку, удалить строку с подтверждением пользователя, и изменить данные (я уже могу изменить данные, но только в таблице (с contenteditable="true" в td), это не сохраняет их в базе данных).

Мне очень нужна ваша помощь для решения этой проблемы, заранее всем спасибо :)

Вот мои модели (я использую tableau):

from django.db import models

class Intervenants(models.Model):
name = models.CharField(max_length=3, null=True)

def __str__(self):
    return self.name

class tableau(models.Model):
    Statut = models.CharField(max_length=1, null=True)
    Facturation = models.CharField(max_length=1, null=True)
    Commande = models.CharField(max_length=1, null=True)
    Num_d_affaire = models.CharField(max_length=100, null=True)
    Projet = models.CharField(max_length=120, null=True)
    Localisation = models.CharField(max_length=120, null=True)
    Descriptif = models.CharField(max_length=120, null=True)
    Archi = models.CharField(max_length=120, null=True)
    Date_Marqueur = models.CharField(max_length=10, null=True)
    BBIO_RT = models.CharField(max_length=10, null=True)
    DIAG_FAISA = models.CharField(max_length=10, null=True)
    APS = models.CharField(max_length=10, null=True)
    APD = models.CharField(max_length=10, null=True)
    PRO = models.CharField(max_length=10, null=True)
    DCE = models.CharField(max_length=10, null=True)
    ACT = models.CharField(max_length=10, null=True)
    VISA = models.CharField(max_length=10, null=True)
    DET = models.CharField(max_length=10, null=True)
    AOR = models.CharField(max_length=10, null=True)
    Charge_d_affaire = models.CharField(max_length=3, null=True)
    Second = models.CharField(max_length=3, null=True)
    Intervenant3 = models.CharField(max_length=3, null=True)
    Intervenant4 = models.CharField(max_length=3, null=True)
    COSSI = models.CharField(max_length=3, null=True)
    Total_interv = models.CharField(max_length=120, null=True)
    Tri_par_interv = models.ManyToManyField(Intervenants, null=True)
    Date_proche_a_venir = models.CharField(max_length=10, null=True)
    Commentaires = models.CharField(max_length=255, null=True)

    def __str__(self):
        return self.Projet

Моя таблица bootstrap html:

Мой urls.py:

from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
from django.urls import path
from core.views import BootstrapFilterView

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', BootstrapFilterView, name='bootstrap')
]

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL,
                          document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL,
                          document_root=settings.MEDIA_ROOT)

И в завершение, мнения :

from django.shortcuts import render
from core.models import tableau
from django.db.models import Q

def BootstrapFilterView(request):
    qs = tableau.objects.all()
    Statut_query = request.GET.get('Statut')
    Total_interv_query = request.GET.get('Total_interv')
    Facturation_query = request.GET.get('Facturation')

    # ajouter __icontains aux variables pour enlever le case sensitive

    if 'q' in request.GET:
        q = request.GET['q']
        # qs = tableau.objects.filter(last_name__icontains=q)
        multiple_q = Q(Q(Projet__icontains=q) | Q(Localisation__icontains=q) | 
Q(Descriptif__icontains=q) | Q(Archi__icontains=q) | Q(Num_d_affaire__icontains=q))
        qs = tableau.objects.filter(multiple_q)
    if Statut_query != '' and Statut_query != 'Statut...':
        qs = qs.filter(Statut__icontains=Statut_query)

    if Total_interv_query != '' and Total_interv_query != 'Interv...':
        qs = qs.filter(Total_interv__icontains=Total_interv_query)

    if Facturation_query == 'on':
        qs = qs.filter(Facturation__icontains='F')

    context = {
        'queryset': qs

    }
    return render(request, "bootstrap_form.html", context)

ThibaultL

Вернуться на верх