model
JavaScript
x
19
19
1
class Genre(models.Model):
2
genre = models.CharField(max_length=100, null=True)
3
4
def __str__(self):
5
return self.genre
6
7
class anime(models.Model):
8
9
anime_name = models.CharField(max_length=100, default="")
10
description = models.CharField(max_length=1000, null=True)
11
Genre = models.ManyToManyField(Genre)
12
Season = models.IntegerField(null=True)
13
Episodes = models.CharField(max_length=100,null=True)
14
IMDB_Rating = models.FloatField(null=True)
15
#Image =
16
17
def __str__(self):
18
return self.anime_name
19
view
JavaScript
1
6
1
def g(request, G):
2
3
animes = anime.objects.filter(Genre=G)
4
x = {'animes': animes}
5
return render(request, 'Anime/genre.html', x)
6
urls
JavaScript
1
2
1
path('genre/<G>/', views.g, name="main"),`
2
Advertisement
Answer
You should filter on the genre
field of the Genre
, so:
JavaScript
1
4
1
def g(request, G):
2
animes = anime.objects.filter(Genre__genre=G)
3
x = {'animes': animes}
4
return render(request, 'Anime/genre.html', x)
Note: Models in Django are written in PascalCase, not snake_case, so you might want to rename the model from
toanime
Anime
.