Я пытаюсь выполнить объединение для двух таблиц - хотел бы вернуть все данные из ReleasesAll и AudioLinks.
Ошибка
FieldErrorat / api / release / 0
Неправильные имена полей, заданные в select_related: 'audio_links'.Возможные варианты: (нет)
models.py
class ReleasesAll(models.Model):
id = models.IntegerField(primary_key=True)
artist = models.CharField(max_length=255)
all_artists = models.CharField(max_length=200)
remixers = models.TextField(blank=True, null=True)
format = models.CharField(max_length=80)
title = models.CharField(max_length=255)
label = models.CharField(max_length=255)
label_no_country = models.CharField(max_length=255)
class Meta:
managed = False
db_table = 'releases_all'
class AudioLinks(models.Model):
release = models.ForeignKey('ReleasesAll', models.DO_NOTHING, db_column='release_id')
track_number = models.IntegerField()
track_name = models.CharField(max_length=500)
url = models.CharField(max_length=500)
m3u_link = models.TextField()
type = models.CharField(max_length=50, blank=True, null=True)
class Meta:
managed = False
db_table = 'audio_links'
views.py
class ListReleaseDetailView(generics.RetrieveUpdateDestroyAPIView):
queryset = ReleasesAll.objects.all()
serializer_class = ReleasesSerializer
def get(self, request, *args, **kwargs):
try:
a_release = self.queryset.select_related('audio_links__release_id').get(pk=kwargs['release_id'])
return Response(ReleasesSerializer(a_release).data)
except ReleasesAll.DoesNotExist:
return Response(
data = {
"message": "{} does not exist".format(kwargs["release_id"])
},
status=status.HTTP_404_NOT_FOUND
Если я удалю select_related
, тогда запрос будет работать