اذهب إلى المحتوى
  • 0

كيفية تحديث سجل في نموذج Model دون إنشاء سجل جديد في جانغو Django؟

Mohssen A Mohssen

السؤال

أحاول أن أقوم بعمل نموذج model في جانغو Django وسوف يحتوي هذا النموذج على صف واحد فقط، وأريد أن يتم تحديثه فقط عندما أقوم بإستدعائه، وبالتالي لن يتم إنشاء سجل جديد في قاعدة البيانات، بل يقوم فقط بتحديث السجل الحالي (الموجود بالفعل في قاعدة البيانات).

class KeyData(models.Model):   
    value = models.PositiveIntegerField()
    date = models.DateTimeField()

كيف يمكنني أن أقوم بهذا الأمر؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكنك ذلك عن طريق إستخدام السطر objects.update() في ملف views.py

على سبيل المثال تريد تحديث بيانات التاريخ بمجرد تحديث الصفحة بعد إنشاء النموذج التالي في ملف models.py و تسجيله في ملف admin.py

class KeyData(models.Model):   
    value = models.PositiveIntegerField()
    date = models.DateTimeField()
    

ثم تقوم بكتابة دالة بسيطة في ملف views.py كالأتي :

from django.shortcuts import render
from .models import KeyData
from datetime import datetime
from django.utils.timezone import now


def testupdate(request):
    tesst = KeyData.objects.update(date=datetime.now())
    context = {'tesst' : tesst }
    return render(request , 'tessst.html' , context)

حيثُ تحتوي على السطر objects.update() و تقوم بتعريف داخله تحديث التاريخ إلى الوقت الحالي على سبيل المثال فيمكن تغيير ذلك بأي حقل تريد تحديثه في النموذج model الذي قمت بإنشاؤه مسبقاً

ثم تقوم بإدراج و تعويض عن طريق الـ context داخل ملف html بشكل اعتيادي و على سبيل المثال ستأخذ القيمة value او اي قيمه تريد عرضها من النموذج model داخل الملف html

{{tesst.value}}

فبمجرد تحديث الصفحة ستجد أن التاريخ تم تحديثه في لوحة التحكم بكل سهوله

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...