擅长:python、mysql、java
<p>基本原则是将它们作为对象处理,而不是作为数据库表处理。你需要电影的细节,所以从那开始。然后可以通过Django的双下划线语法来跟踪这些关系。所以:</p>
<pre><code>MovieDetails.objects.filter(movieactivedays__theaterbase_id=theaterid)
</code></pre>
<p>我们可以通过认识到MovieActiveDays是电影细节和影院基础之间的一个多对多的直通表来改善这一点:</p>
<pre><code>class MovieDetails(models.Model):
...
theatres = models.ManyToManyField('TheaterBase', through='MovieActiveDays')
</code></pre>
<p>现在我们可以缩短查询时间:</p>
<pre><code>MovieDetails.objects.filter(theatres=theaterid)
</code></pre>
<p>Django会帮我们处理所有的事情。你知道吗</p>