をフィルタリング)を次のように入力します。Djangoの多対多、私は次のようにモデル化された地域のインフラを持っている
class UserProfile(models.Model):
user = models.OneToOneField(User, related_name='user_profile')
city = models.CharField(max_length=255)
country = CountryField()
state = USStateField(_(u'US only (determines user's region)'), blank=True, null=True)
私は、複数のユーザーオブジェクトを地域別にフィルタリングしようとしています。だから私は持っている
region = Region.objects.filter(id=self.request.GET['filter_region'])
if len(region) == 0:
raise Exception("Region not found for filter")
if len(region) > 1:
raise Exception("Multiple regions found for filter?")
region = region[0]
queryset = queryset.filter(user_profile__country__in=region.countries.all)
悲しいことに、これは空のクエリセットを返します。私はそれが "カントリー"モデルの中に "国"フィールドを持っているという事実と関係があると思います。(私のコードではなく、ひどいあいまいな名前です。その中の「国」フィールド。 (意味がありますか)
ManyToManyフィールドのサブフィールドでフィルタリングするにはどうすればよいですか?