Я хочу разработать URL, как:Джанго restframework: фильтр URL с две модели поля
url(r'^theaters/(?P<area>.+)/(?P<title>.+)/$', TheaterAreaList.as_view(), name='theater-area'),
, а затем я могу перейти по ссылке, как:
http://127.0.0.1:8000/theaters/north/moviename
Но title
и area
находятся в разных моделях с большим количеством взаимосвязей:
models.py
class Movie(models.Model):
link = models.URLField()
title = models.CharField(max_length=255, null=True)
class MovieTheater(models.Model):
movietheater = models.ManyToManyField(Movie,null=True,blank=True,through="MovieShowtime")
movie_theater = models.CharField(max_length=255, null=True)
city = models.CharField(max_length=255, null=True) #east west north south
class MovieShowtime(models.Model):
theater = models.ForeignKey(MovieTheater, null=True,blank=True,related_name = 'theater')
movie = models.ForeignKey(Movie, null=True,blank=True,related_name = 'movie')
time = models.TextField(null=True,blank=True)
мой views.py имеет ошибку QuerySet' object has no attribute 'movietheater_set'
views.py:
class TheaterAreaList(generics.ListAPIView):
serializer_class = TheaterSerializer
def get_queryset(self):
area = self.kwargs['city']
title = self.kwargs['title']
return MovieTheater.objects.filter(city=area).movietheater_set.filter(title=title)
Пожалуйста, научи меня, как запрос с двумя моделями, спасибо очень много.
Спасибо. '' '' MovieTheater.objects.filter (city = area, movietheater__title = название) '' '' работает хорошо – user2492364