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