Menu
CoddyTech

مشاركة ملاحظة

جزء من قسم المستخدمون والحسابات في رحلة Django على Coddy. الدرس 15 من 16.

الملاحظات خاصة، وهذا هو الأنسب لمعظمها. أحيانًا تريد مشاركة ملاحظة مع صديق: وصفة أو قائمة قراءة. خلال هذا الدرس والدرس التالي، ستضيف إمكانية المشاركة للقراءة فقط.

تبدأ المشاركة كخيار يتخذه المالك ويُخزَّن في الملاحظة: حقل BooleanField، إما صحيح أو خطأ. يجب أن تظل الملاحظة الجديدة خاصة ما لم يقرر المالك خلاف ذلك، لذا فقيمتها الافتراضية هي False. في نموذج ModelForm، يتحول BooleanField إلى مربع اختيار.

يمكن للنموذج هنا تعيين الحقل، لأنه خيار المالك بشأن ملاحظته الخاصة. أما owner فهو مختلف: لا يجوز لأي نموذج تعيينه.

challenge icon

التحدي

سهل
  • أضف حقل shared إلى Note: وهو BooleanField تكون قيمته False للملاحظة الجديدة.
  • يمكن للمالك تحديده في نموذج الملاحظة عند كتابتها أو تعديلها.
  • تعرض صفحة الملاحظة المشتركة العبارة Anyone with the link can read this note.

اضغط على Run، وسجّل الدخول باسم ada (كلمة المرور coddy-pass-123)، ثم عدّل ملاحظة وحدد shared.

جرّب بنفسك

from django.conf import settings
from django.db import models


class Note(models.Model):
    owner = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="notes")
    title = models.CharField(max_length=100)
    body = models.TextField(blank=True)
    created = models.DateTimeField(auto_now_add=True)

    class Meta:
        ordering = ["-created"]

    def __str__(self):
        return self.title

جميع دروس المستخدمون والحسابات

تدرّب بنفسك: Playground لـ Django