小编Sac*_*ina的帖子

TypeError:float()参数必须是Django距离中的字符串或数字

我试图从我的模板中获取值,kmdistance但是当我查看页面时它会返回错误.

这是views.py

def display_maps(request):
    #bases for city proper
    pnt = ButuanMaps.objects.get(clandpin='162-03-0001-017-33').geom

    #landproperty__sownerid__id=5 is for government user
    kmdistance = request.GET.get("kmtocity", None)
    mysection = (request.GET.get("mysection", None))
    query_section = Section.objects.all().order_by('id')
    ...
    query_maps = ButuanMaps.objects.filter(landproperty__sownerid__id=5, geom__distance_lte=(pnt, D(km=kmdistance)), ssectionid__id=mysection)
    ...
Run Code Online (Sandbox Code Playgroud)

这是template.html

  <select name="kmtocity" class="form-control">
      <option type="text" value="empty">Select Km. away from City Proper</option>
      <option value="1">1</option>
      <option value="5">5</option>
      <option value="10">10</option>
      <option value="15">15</option>
      <option value="20">20</option>
   </select>
Run Code Online (Sandbox Code Playgroud)

当我尝试将值放在距离时,它工作正常.

python django openlayers

13
推荐指数
1
解决办法
4万
查看次数

优化 PostgreSQL(PostGIS) 中的 ST_Intersects

下面的查询大约需要 15 分钟才能显示结果。我想知道为什么?因为数据?或者几何体的顶点?当我尝试使用不同的表(小型形状文件)进行查询时,它运行得很快。

这是查询。(感谢帕特里克):

WITH hi AS (
  SELECT ps.id, ps.brgy_locat, ps.municipali
  FROM evidensapp_polystructures ps
  JOIN evidensapp_seniangcbr fh ON fh.hazard = 'High'
                                 AND ST_Intersects(fh.geom, ps.geom)
), med AS (
  SELECT ps.id, ps.brgy_locat, ps.municipali
  FROM evidensapp_polystructures ps
  JOIN evidensapp_seniangcbr fh ON fh.hazard = 'Medium'
                                 AND ST_Intersects(fh.geom, ps.geom)
  EXCEPT SELECT * FROM hi
), low AS (
  SELECT ps.id, ps.brgy_locat, ps.municipali
  FROM evidensapp_polystructures ps
  JOIN evidensapp_seniangcbr fh ON fh.hazard = 'Low'
                                 AND ST_Intersects(fh.geom, ps.geom)
  EXCEPT SELECT * FROM hi
  EXCEPT …
Run Code Online (Sandbox Code Playgroud)

django postgresql postgis query-optimization postgresql-9.3

6
推荐指数
1
解决办法
3417
查看次数

如何使用Bootstrap Multiselect获取所有选定的值并在AJAX中使用它

我正在使用Bootstrap Multiselect,这是我在HTML中的设置:

<div class="form-group">
    <select class="form-control" id="bldg_type" multiple="multiple">{% for type in buildings %}
        <option value="{{type.bldg_type}}">{{type.bldg_type}}</option>{% endfor %}
    </select>
</div>
Run Code Online (Sandbox Code Playgroud)

我想使用我的查询的选定值,我的Ajax代码的片段:

$.ajax({
    url: "cnt_bldg/",
    type: "GET",
    dataType: "JSON",
    data: {
        'brgy_id': brgy_id,
        'bldg_type': $('#bldg_type option:selected').val()
    },
    ...
Run Code Online (Sandbox Code Playgroud)

问题$('#bldg_type option:selected').val()是我只能获得1个值.例如,我检查MarketPolice Station在我的选择选项中,并在我的控制台中查看http://127.0.0.1:8000/cnt_bldg/?brgy_id=All&bldg_type=Market".它只获得Market.

如何获取所有值并将其用于查询?

顺便说一下,我正在使用Django.我已经阅读了这个答案,但我不知道如何在上面的AJAX代码中使用结果.

ajax jquery twitter-bootstrap bootstrap-multiselect

5
推荐指数
2
解决办法
2万
查看次数

如果值在 PHP 中相同,则行跨度表

<?php
        $id=$_POST['itinerary_id'];
        $query=mysql_query("select * from tblitinerarydetails where tblid='$id' order by date_of_travel asc");
        $i = 0;
        $prevValue = NULL;
        while($rows=mysql_fetch_array($query)){
            $date=$rows['date_of_travel'];
            $mydate = strtotime($date);
            $newdate = date('F j, Y', $mydate);
            $activities=$rows['activities'];
            $time_departure=$rows['time_departure'];
            $time_arrival=$rows['time_arrival'];
            $new_time_departure = date('g:i A', strtotime( $time_departure));
            $new_time_arrival = date('g:i A', strtotime( $time_arrival));
            $means_of_transportation= $rows['means_of_transportation'];
            $travelling_allowance = number_format($rows['travelling_allowance'],2);
            $destination = $rows['destination'];    
            $i++;
            echo "<tr>";
            if ($newdate == $prevValue) {
                echo "<td align='left' rowspan='$i'>$prevValue</td>";
             }
            $prevValue = $newdate;

            echo "<td align='left'>$destination</td>";
            echo "<td align='center'>$new_time_departure</td>";
            echo "<td align='center'>$new_time_arrival</td>";
            echo "<td align='center'>$activities</td>"; …
Run Code Online (Sandbox Code Playgroud)

php html-table

3
推荐指数
1
解决办法
4558
查看次数

类型错误:int() 参数必须是字符串或数字,而不是“dict”

我试图获取危险类型为“高”的所有建筑结构。我有以下查询:

>>> reference = FloodHazard.objects.filter(hazard='High')
>>> ids = reference.values('id')
>>> for id in ids:
...     getgeom = FloodHazard.objects.get(id=id).geom
...     getbldg = BuildingStructure.objects.filter(geom__intersects=getgeom).value_list('id')

Traceback (most recent call last):
  File "<console>", line 3, in <module>
  File "C:\Python27\lib\site-packages\django\db\models\manager.py", line 151, in get
    return self.get_queryset().get(*args, **kwargs)
  File "C:\Python27\lib\site-packages\django\db\models\query.py", line 298, in get
    clone = self.filter(*args, **kwargs)
  File "C:\Python27\lib\site-packages\django\db\models\query.py", line 590, in filter
    return self._filter_or_exclude(False, *args, **kwargs)
  File "C:\Python27\lib\site-packages\django\db\models\query.py", line 608, in _filter_or_exclude
    clone.query.add_q(Q(*args, **kwargs))
  File "C:\Python27\lib\site-packages\django\db\models\sql\query.py", line 1198, in add_q
    clause = self._add_q(where_part, used_aliases) …
Run Code Online (Sandbox Code Playgroud)

python django geodjango

-1
推荐指数
1
解决办法
6151
查看次数