class Note(models.Model):
title = models.CharField(max_length=24)
notebook = models.ForeignKey(NoteBook, on_delete=models.CASCADE, null=True)
user = models.ForeignKey(User, on_delete=models.CASCADE)
noteType = models.CharField(max_length=24)
datetime = models.DateTimeField(auto_now=True)
content = models.TextField(blank=True)
allowed_types = ['note', 'kanban', 'table']
def __str__(self):
return f"{self.user}/{self.notebook.title}/{self.title}"
class ShareRequest(models.Model):
sender = models.ForeignKey(User, on_delete=models.CASCADE)
reciver = models.ForeignKey(User, on_delete=models.CASCADE)
note = models.ForeignKey(User, on_delete=models.CASCADE)
request_time = models.DateTimeField(auto_created=True)
فرضا طرف یه یادداشت داره و میخواد اونو با یکی دیگه همرسانی کنه پس اشتراک رو میزنه و نام کاربری طرف رو وارد می کنه بعد یه درخواست برای طرف میره. بعد اگه طرف قبول کنه درخواست رو یه مدل Note براش ایجاد بشه که فیلد هاش لینک بشه به فیلد های یادداشت اصلی. برای این کار تو جنگو دستوری پیدا نکردم.
البته همین الان به ذهنم رسید که وقتی درخواست قبول شد یه مدل Note ایجاد بشه که ForiegnKey داشته باشه به اون یادداشت اصلی ولی نمی دونم شاید روش قبلی بهتر باشه.