У меня есть две модели с отношением один ко многим в приложении django, использующем приложение с использованием базы данных postgres / postgis.У меня есть один не простой запрос в базе данных и панели pgadmin, и он работает правильно.
здесь запрос:
select string_agg(distinct app_work.id::text, ', ') AS code_work,string_agg(distinct app_work.stage, ', ')
AS stage,string_agg(distinct app_work.dfield_work, ', ') AS dfield,app_point.geom
from app_point, app_work where app_point.id=app_work.point_field_id GROUP BY app_point.id;
Теперь я хочу использовать этот запрос (мне нужно, чтобы результаты этого запроса) в моем приложении Django для создания экспорта Geojson или JSON.я не уверен, как преобразовать этот запрос, используя объекты и запросы метода django (например, point.objects.all()
), я пытаюсь использовать пользовательский запрос postgres, например:
models.py
class point(models.Model):
geom = models.MultiPointField(srid=4326)
objects = models.GeoManager()
def __unicode__(self):
return str(self.id)
class meta:
verbose_name_plural="point_info"
class work(models.Model):
dfield_work = models.CharField(max_length=100,blank=True, null=True)
stage = models.CharField(max_length=100,blank=True, null=True)
field1 = models.CharField(max_length=100,blank=True, null=True)
field2 = models.CharField(max_length=100,blank=True, null=True)
point_field= models.ForeignKey('point', blank=True, null=True)
def __unicode__(self):
return str(self.id)
vews.py
from django.db import connection
def points(request):
cursor = connection.cursor()
cursor.execute("""seselect string_agg(distinct app_work.id::text, ', ') AS code_work,string_agg(distinct app_work.stage, ', ')
AS stage,string_agg(distinct app_work.dfield_work, ', ') AS dfield,app_point.geom
from app_point, app_work where app_point.id=app_work.point_field_id GROUP BY app_point.id from log_point, log_work where log_point.id=log_work.point_field_id GROUP BY log_point.id""")
row = cursor.fetchall()
print row
data = serialize('geojson', row)
return HttpResponse(data,content_type='json')
в строке печати я беру правильный список результатов
, но не работает, и у меня есть эта ошибка:
'tuple' object has no attribute '_meta'
Любая идея, как это исправить