特定の投稿が存在する国を取得して、それらの国のみを表示できるようにしようとしています。そうするために。次のコードがあります。
モデル:
class Country(models.Model):
name=models.CharField(max_length=100)
iso_code_2=models.CharField(max_length=4)
iso_code_3=models.CharField(max_length=4)
def __unicode__(self):
return self.name
def get_countries_with_jobs(self):
countries=self.objects.filter(id__in=Post.country)
return countries
class Category(models.Model):
name=models.CharField(max_length=100)
title=models.CharField(max_length=100)
meta_keywords=models.CharField(max_length=100)
meta_description=models.CharField(max_length=100)
sort_order=models.IntegerField()
def __unicode__(self):
return self.name
class City(models.Model):
name=models.CharField(max_length=100)
title=models.CharField(max_length=100)
meta_keywords=models.CharField(max_length=100)
meta_description=models.CharField(max_length=100)
sort_order=models.IntegerField()
country=models.ForeignKey(Country)
def __unicode__(self):
return self.title
class Post(models.Model):
user=models.ForeignKey(User)
title=models.CharField(max_length=100)
publish_date=models.DateField()
active=models.BooleanField()
country=models.ForeignKey(Country)
city=ChainedForeignKey(City,chained_field="country",chained_model_field="country" )
category=models.ForeignKey(Category)
description=models.TextField()
added_by=models.CharField(max_length=70)
def __unicode__(self):
return self.title
ここで、get_countries_with_jobsメソッドには、投稿が存在する国を照会して取得しようとするコードが含まれています。通常、あるポストの1つのアクセス国ですが、この場合、ポストが存在する国を取得する必要があります。ここでは、このメソッドの呼び出し中にエラーが発生したため、このコードをviewメソッドで次のように記述しようとしました。
def list(request,template_name='list_posts.html'):
countries=Country.objects.filter(id__in=Posts.country)
return render_to_response(template_name,locals(),context_instance=RequestContext(request))