new models, frontend functions, public pages

This commit is contained in:
2025-05-07 15:41:03 +09:00
parent 91f0d54563
commit 18497d4343
784 changed files with 124024 additions and 289 deletions

View File

@@ -1,3 +1,5 @@
# backend/api/models.py
from django.db import models
from django.conf import settings
@@ -5,13 +7,25 @@ class LinkGroup(models.Model):
owner = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
related_name='api_link_groups' # уникальное имя, чтобы не конфликтовать с links app
related_name='api_link_groups'
)
name = models.CharField(max_length=100)
order = models.PositiveIntegerField(default=0)
description = models.TextField(blank=True, null=True)
icon = models.ImageField(
upload_to='link_groups/',
null=True,
blank=True,
help_text='Иконка группы ссылок'
)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
is_public = models.BooleanField(default=False)
is_favorite = models.BooleanField(default=False)
def __str__(self):
return f"{self.owner.username} - {self.name}"
return f"{self.owner.username} {self.name}"
class Link(models.Model):
owner = models.ForeignKey(
@@ -28,8 +42,13 @@ class Link(models.Model):
)
title = models.CharField(max_length=200)
url = models.URLField()
icon = models.URLField(blank=True, null=True)
icon = models.ImageField(
upload_to='links/',
null=True,
blank=True,
help_text='Иконка для этой ссылки'
)
order = models.PositiveIntegerField(default=0)
def __str__(self):
return self.title
return self.title