1
次のように私はモデルを持っている:Django:ビュー内にQuerySetを作成しますか?
class Place(models.Model):
name = models.CharField(max_length=300)
class Person(models.Model):
name = models.CharField(max_length=300)
class Manor(models.Model):
place = models.ManyToManyField(Place, related_name="place"))
lord = models.ManyToManyField(Person, related_name="lord")
overlord = models.ManyToManyField(Person, related_name="overlord")
私はGeoDjangoメソッドを使用して、特定の人との関係「主」で接続されているすべての場所を取得した後、センターを取得したいです。これは、私の知る限りが持っているとされています。しかし、これは私を
person = get_object_or_404(Person, namesidx=namesidx)
manors = Manor.objects.filter(lord=person)
places = []
for manor in manors:
place_queryset = manor.place.all()
for place in place_queryset:
places.append(place)
if places.collect():
centre = places.collect().centroid
を与える:
AttributeError at /name/208460/gamal-of-shottle/
'list' object has no attribute 'collect'
は、私はどちらか(a)は背面の場所のクエリセットを取得するために、よりエレガントな方法でこれを行うことができます(b)私のビュー内のリストではなくQuerySetを作成していますか?
ありがとうございました!