35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
from django.db import models
|
||
from django.conf import settings
|
||
|
||
class LinkGroup(models.Model):
|
||
owner = models.ForeignKey(
|
||
settings.AUTH_USER_MODEL,
|
||
on_delete=models.CASCADE,
|
||
related_name='api_link_groups' # уникальное имя, чтобы не конфликтовать с links app
|
||
)
|
||
name = models.CharField(max_length=100)
|
||
order = models.PositiveIntegerField(default=0)
|
||
description = models.TextField(blank=True, null=True)
|
||
def __str__(self):
|
||
return f"{self.owner.username} - {self.name}"
|
||
|
||
class Link(models.Model):
|
||
owner = models.ForeignKey(
|
||
settings.AUTH_USER_MODEL,
|
||
on_delete=models.CASCADE,
|
||
related_name='links'
|
||
)
|
||
group = models.ForeignKey(
|
||
LinkGroup,
|
||
on_delete=models.SET_NULL,
|
||
null=True,
|
||
blank=True,
|
||
related_name='links'
|
||
)
|
||
title = models.CharField(max_length=200)
|
||
url = models.URLField()
|
||
icon = models.URLField(blank=True, null=True)
|
||
order = models.PositiveIntegerField(default=0)
|
||
|
||
def __str__(self):
|
||
return self.title |