العربية
فتح في Telegram
DDjango Python | جانغو

Django Python | جانغو

@DjangoPython · مجموعة · التقنية · في الفهرس منذ 2026-08-01
3 120أعضاء
9يكتبون خلال 30 يومًا
16رسائل خلال 30 يومًا
56 598رسائل في الفهرس
║
اذا بتدخل بالتوكنات في المقارنات لا تستخدم == استخدم hmac الفرق بينهم ببساطة الاولى يقارن حرف حرف ويرجع خطا لما الحرف ما يكون صحيح وهنا الهاكر يعرف حروف التوكن الصح من timing attack النوع الثاني يقارن بالتوكن ككل
K
شكرا لكم جميعا ما قصرتوا
H
السلام عليكم عندي حقل uuid id = models.UUIDField( primary_key=True, default=uuid.uuid4, editable=False, db_index=True ) وبدي اعمل حقل يتولد تلقائيا متل الid العادي يعبر عن رقم الطلب (1, 2, 3, ................) كيف ممكن نعمل هيك شي؟؟
    1. H
      ما بيمشي الحال يكون تنين pk بنفس الجدول
      1. ع
        أنت هتستخدمه كرقم للطلب مش كـ pk الـ Auto field و الـ Big Auto field مش لازم يكونوا pk يعني: order_number = models.AutoField() هتلاحظ أنه مفيش primay_key=True لأنه أنت مش هتستخدمه كـ pk لو قرأت الرابط اللي أرسلته لك هتلاقيه بيقول: "An IntegerField that automatically increments according to available IDs." ده مجرد حقل عددي (Integer) بيزيد بصورة تلقائية.
    2. H
      انا عندي الpk الاساسي هو حقلuuid
  1. M
    بسيطه استخدم positive big int field واعمل override ل save method واعمل populate ل الفيلد الجديد ال هيشيل القيمه دي واعمل empty migration file واعمل backfill ل old records وبس كدا
  2. M
    سؤال حلو وبتذكر حليتو بأحد المشاريع بهذا الأسلوب (مو ضروري يكون معمم) عمل حقل بمثل الرقم التسلسلي عند الإنساء عمل دالة ب services.py قابلة لإعادة الاستخدام بتاخد آخر حقل موجود مسبقا ورقمو وبتضيف ١ .. هام .. لو عمليات الإنشاء كثيرة ومتتابعة استخدمي الكاش لعرض وتعديل آخر رقم ..
    👍1
    1. M
      بالنسبة كمان لل reac condition استخدمي بدالة الإنشاء وإضافة الرقم select for update ()
السلسلة كاملة · 7 ردود →
  1. M
    لو بتستخدم postgres دور ع حاجه اسمها sequence هتحل ليك كل المشاكل دي
    1. M
      مش هينفع تستخدمه عشان دا بيستخدم بس مع primary_key ب True وال id معمول primary ب true
      👍1
      1. ع
        صحيح، تأكدت من الموضوع لتوي. لايمكن استخدامه الا مع primary_key=True عذرًا، تجاهلوا كلامي السابق.
السلسلة كاملة · 5 ردود →
H
ومع كترة الطلبات اكيد رح يصير بطئ
H
طيب بحال كان في بيانات بقاعدة البيانات؟؟
  1. ع
    راح يعطيك خطأ لأنك بتعمل عمود جديد في جدول قاعدة البيانات وفي بيانات بالفعل موجودة. يعني في طلبات بالفعل في قاعدة البيانات وملهاش رقم. أمامك أكثر من خيار: 1- اما أنه يكون عندك أرقام للطلبات هذه في مكان ما، تكتب سكريبت يأخذ أرقام الطلبات هذه ويملئ بها حقل "رقم الطلب" للطلبات الموجودة في قاعدة البيانات بالفعل. 2- أنك تعطي رقم طلب موحد للكل وأنت بتعمل migration هيسألك على Default تحدد له رقم يكون الـ Default للطلبات القديمة اللي ملهاش رقم طلب. 3- أنه حقل "رقم الطلب" للطلبات القديمة يكون null وساعتها لازم تحدد في الحقل null=True
    👍1
السلسلة كاملة · 1 رد →
M
أيضا بعيدا عن سؤالك و مجرد رأي لو المشروع قيد الإنشاء وما فيه شي حساس حاولي تنقلي من uuid4 ل uuid7 .. هي الصيغة أسرع لإنها بتستخدم التقسيم الزمني
  1. A
    كان فيه مشكلة عدم توافق بين جانگو وuuid7 استخدمت uuid7 في الروابط path("product/<uuid:id>/", ... ) وطلعت لي مشكلة الصفحة غير موجودة وبعد بحث طويل اتضح أن جانگو يتوقع uuid4 وليس متوافق مع 7 بشكل كامل
السلسلة كاملة · 1 رد →
M
هي بتعمل قفل لحظي منشان ما يصير التضارب .. طبعا مع الحرص يكون الرقم unique

خلاصة عامة مفتوحة من فهرس البحث ChatCrawler — «Google لـ Telegram العام»؛ تُحدَّث كلما زحفنا إلى المجتمع. الأوقات بتوقيت UTC.

محتوى عام فقط، وAPI Telegram الرسمي. عن المشروع · الأسئلة الشائعة · حدود الفهرس · إزالة صفحة · الدليل · بحث · كيف نحسب