私はこの問題に出くわし、それを解決しようとして初心者の脳が揚げられました。ここには、欠けている基本的な概念がいくつかあるように感じます。
したがって、カテゴリ選択フィールドと「監督」モデルへのm2m関係を持つこの「映画」モデルがあり、2つの異なるビューを作成しようとしています.1つはカテゴリでフィルタリングされた映画のリストを返し、もう1つはリストを返します監督によってフィルタリングされた映画の数。最初のものは簡単ですが、ディレクター モデルの名前フィールドを取得して 2 番目のフィルターを作成する方法がわかりません。
だから私はこのモデルを持っています(私が上で述べたカテゴリのものを含む無関係なものを取り出しました)
class Director(models.Model):
name = models.CharField(max_length=50)
web = models.URLField(blank=True, help_text= "opcional")
class Film(models.Model):
name = models.CharField(max_length=50)
slug = models.SlugField(max_length= 15)
director = models.ManyToManyField(Director, blank=True, help_text= "opcional")
このURL
(r'^peliculas/director/(?P<director>\w+)/$', 'filtered_by_director'),
そしてこの景色
def filtered_by_director(request,director):
return list_detail.object_list(
request,
queryset = Film.objects.filter(director.name=director),
template_name ='sections/film_list.html',
template_object_name = 'film',
paginate_by = 3
)
関連するオブジェクトのリストをレンダリングするために、両方のビューで同じテンプレートが使用されることになっています ビューは、m2m フィールドのクエリセットで使用しているフィルターが好きではありませんが、実際にそれを行う方法がわかりません。考えられることは何でも試してみましたが、「キーワードを式にすることはできません」というエラーが表示されます
この卑劣な初心者への助けをいただければ幸いです。