сделал слаг для треков
This commit is contained in:
parent
0b096603a0
commit
7e9d03842e
|
|
@ -1,5 +1,6 @@
|
|||
from django.db import models
|
||||
from account.models import MyUser
|
||||
from django.template.defaultfilters import slugify
|
||||
|
||||
class Song(models.Model):
|
||||
azura_id = models.CharField('ID трека с Азуры', max_length=255)
|
||||
|
|
@ -8,6 +9,12 @@ class Song(models.Model):
|
|||
album = models.CharField('Альбом трека', blank=True, null=True, max_length=255)
|
||||
genre = models.CharField('Жанр трека', blank=True, null=True, max_length=50)
|
||||
art = models.CharField('Изображение трека', blank=True, null=True, max_length=255)
|
||||
slug = models.SlugField()
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.id:
|
||||
self.slug = slugify(self.azura_id)
|
||||
super(Song, self).save(*args, **kwargs)
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.artist} - {self.title}"
|
||||
|
|
@ -16,4 +23,4 @@ class FavoriteSong(models.Model):
|
|||
song = models.ForeignKey(Song, verbose_name='Трек', on_delete=models.CASCADE, null=True, blank=True)
|
||||
user = models.ForeignKey(MyUser, verbose_name='Пользователь', on_delete=models.CASCADE, blank=True, null=True)
|
||||
def __str__(self):
|
||||
return f"{self.user.first_name} {self.user.last_name} - {self.song.title}"
|
||||
return f"{self.user.email} - {self.song.title}"
|
||||
|
|
|
|||
|
|
@ -17,6 +17,23 @@ class SongViewSet(ViewSet):
|
|||
|
||||
@action(detail=False, methods=['post'], schema=SongSchema())
|
||||
def create_song(self, request):
|
||||
|
||||
""" song = Song.objects.filter(
|
||||
azura_id = request.data['azura_id'],
|
||||
title = request.data['title'],
|
||||
artist = request.data['artist'],
|
||||
album = request.data['album'],
|
||||
genre = request.data['genre'],
|
||||
art = request.data['art']
|
||||
)
|
||||
|
||||
if song.exists():
|
||||
data = {
|
||||
"song": serializer.data['id'],
|
||||
"user": request.user.pk
|
||||
} """
|
||||
|
||||
|
||||
serializer = SongSerializer(data=request.data)
|
||||
if serializer.is_valid():
|
||||
serializer.save()
|
||||
|
|
@ -31,6 +48,7 @@ class SongViewSet(ViewSet):
|
|||
else:
|
||||
return Response(serializer_1.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
@action(detail=False, methods=['post'], schema=DeleteSongSchema())
|
||||
def delete_song(self, request):
|
||||
song_id = request.data['song_id']
|
||||
|
|
|
|||
Loading…
Reference in New Issue