小编AP2*_*257的帖子

Django:进行原始SQL查询,传递多个/重复的参数?

希望这应该是一个相当简单的问题,我只是不太了解Python和Django来回答它.

我在Django中有一个原始的SQL查询,它有六个不同的参数,前两个(centreLat和centreLng)都重复:

query = "SELECT units, (SQRT(((lat-%s)*(lat-%s)) + ((lng-%s)*(lng-%s)))) AS distance FROM places WHERE lat<%s AND lat>%s AND lon<%s AND lon>%s ORDER BY distance;"
params = [centreLat,centreLng,swLat,neLat,swLng,neLng]
places = Place.objects.raw(query, params)
Run Code Online (Sandbox Code Playgroud)

如何构造params对象和query字符串,以便他们知道要重复哪些参数以及在哪里?

django

8
推荐指数
1
解决办法
4372
查看次数

GeoDjango设置:ERROR:无法访问文件"$ libdir/postgis-1.5":没有这样的文件或目录

更新:以为我已经解决了,但我没有...请看下面.


我正在Mac OSX上安装GeoDjango.我遵循了Mac安装说明,一切顺利,我现在正在为PostGIS创建一个空间数据库模板.

但是,当我尝试加载PostGIS SQL例程时,我得到ERROR: could not access file "$libdir/postgis-1.5": No such file or directory:

postgres$ psql -d template_postgis -f $POSTGIS_SQL_PATH/postgis.sql
psql:/usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql:59: ERROR:  could not access file "$libdir/postgis-1.5": No such file or directory
<snip>
psql:/usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql:7785: ERROR:  type "geometry" does not exist
Run Code Online (Sandbox Code Playgroud)

出了什么问题,我该如何解决?

从postgis IRC找到了这些说明,但我认为我正在运行正确版本的pg_config等:

postgres$ which pg_config
/usr/local/pgsql/bin//pg_config
postgres$ which psql
/usr/local/pgsql/bin//psql
postgres$ pg_config --pkglibdir
/usr/local/pgsql/lib
Run Code Online (Sandbox Code Playgroud)

我从KyngChaos安装了postgres及其PostGIS扩展.如果我查看/usr/local/pgsql/lib,那里有一个文件postgis-1.5.so,所以我不明白为什么它没有找到.

postgresql geocoding postgis geodjango

8
推荐指数
1
解决办法
7204
查看次数

psycopg2.InternalError:我如何获得更多有用的信息?

我在Python脚本中运行此命令:

try: 
    print sql_string
    cursor.execute(sql_string)
except:
    print sys.exc_info()
Run Code Online (Sandbox Code Playgroud)

得到:

(<class 'psycopg2.InternalError'>, InternalError('current transaction is aborted, commands ignored until end of transaction block\n',), <traceback object at 0x1010054d0>)
Run Code Online (Sandbox Code Playgroud)

但是,如果我sql_string从psql命令行尝试,它可以正常工作.我知道脚本连接到数据库没关系,因为我可以运行其他命令.

如何让Python为我提供有关此命令在脚本中失败的原因的更多有用信息?

python postgresql

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

Django:外键查询

我正在学习Django并尝试通过桥接表查询外键.如果这是重复的道歉,我无法通过搜索找到答案.我的模型定义如下

class Place(models.Model):
    id = models.IntegerField(primary_key=True)
    name = models.CharField(max_length=100)
class PlaceRef(models.Model):
    place = models.ForeignKey(Place) # many-to-one field
    entry = models.ForeignKey(Entry) # many-to-one field
class Entry(models.Model):
    id = models.IntegerField(primary_key=True)
    name =  models.CharField(max_length=10)
Run Code Online (Sandbox Code Playgroud)

如果我想检索与特定地点相关的所有条目,我该怎么办?

place = get_object_or_404(Place, id=id)
placerefs = PlaceRef.objects.filter(place=place)
entries = Entry.objects.filter(id.....)
Run Code Online (Sandbox Code Playgroud)

另外,如果我有更明智的方式来定义(或摆脱)Django中的PlaceRef,请随时提出替代方案.

感谢您帮助初学者!

django django-models

8
推荐指数
1
解决办法
7623
查看次数

Mercurial:如何推送到默认分支?

我正在使用Mercurial而且我是一个新手.我只是犯了一个改变我的回购成功,然后跑去hg pullhg update成功-没有合并,没有冲突出现了.

然后我试图推到远程仓库,并得到了可怕的: abort: push creates new remote heads!

hg glog 显示以下内容:

@  changeset:   576:c4c58970f141
|  tag:         tip
|  user:        me
|  parent:      566:70e287df5439
|
| o  changeset:   575:7ae70ddd2b6e
| |  branch:      mongo
| |
| o  changeset:   574:904da90475ef
| |  branch:      mongo
| |
| o  changeset:   567:cad7a006965b
|/   branch:      mongo
|
o  changeset:   566:70e287df5439
|  user:        me
|  
Run Code Online (Sandbox Code Playgroud)

看起来有人在repo中创建了一个新的分支,这很好:我只是想将我的更改推送到默认分支,但我不知道如何.

如何推动变更集576?我是否需要指定它是分支默认值?

mercurial

8
推荐指数
2
解决办法
9415
查看次数

CSS谜题:如何在空跨度上添加背景图像并设置高度/宽度?

我给自己定background-image的一对夫妇的span元素,但它们没有显示出来,我想是因为我heightwidth设置都被忽略.

HTML源代码:

<div class="textwidget">
<a href="#" title="Start here"><span id="starthere" class="sidebar-poster"></span></a> 
<a href="#" title="Primary documents"><span id="#primarydocs" class="sidebar-poster"></span></a> 
<a href="#" title="Donate"><span id="donate" class="sidebar-poster"></span></a>
</div> 
Run Code Online (Sandbox Code Playgroud)

CSS:

span.sidebar-poster {
    margin-bottom: 10px;
    background-repeat: no-repeat;
    width: 160px;
}
span#starthere { 
    background-image: url(/betatesting/wp-content/themes/dynamik/css/images/brunelwantsyou180.jpg);
    height: 285px;
} 
span#starthere:hover { 
    background-image: url(/betatesting/wp-content/themes/dynamik/css/images/brunelwantsyou_hover.jpg);
} 
span#primarydocs { 
    background-image: url(/betatesting/wp-content/themes/dynamik/css/images/brunelwantsyou180.jpg);
    height: 285px;
} 
span#primarydocs:hover { 
    background-image: url(/betatesting/wp-content/themes/dynamik/css/images/brunelwantsyou_hover.jpg);
} 
span#donate { 
    background-image: url(/betatesting/wp-content/themes/dynamik/css/images/donatebutton.jpg);
    height: 285px;
} 
span#donate:hover { 
    background-image: url(/betatesting/wp-content/themes/dynamik/css/images/donateposter_hover.jpg);
} 
Run Code Online (Sandbox Code Playgroud)

没有任何背景图像实际可见.

在Chrome开发者工具中,在"计算样式"下,这两个跨度似乎确实具有背景图像.如果我复制并粘贴此图像的URL,我会看到图像.但实际上并没有渲染.

[更新 - …

html css

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

Django:通过模型自动生成StackedInline的Friendlier标头?

我正在使用Django管理员StackedInline,如下所示:

class BookInline(admin.StackedInline):
    model = Book.subject.through
    verbose_name = 'Book'
    verbose_name_plural = 'Books with this subject'

class SubjectAdmin(admin.ModelAdmin):
    inlines = [
        BookInline,
    ]
Run Code Online (Sandbox Code Playgroud)

一切正常,但标题非常难看:

Books With This Subject
Book: Book_subject object
Run Code Online (Sandbox Code Playgroud)

任何人都知道如何摆脱或改变这Book_subject object部分?

谢谢!

python django django-admin

8
推荐指数
1
解决办法
1577
查看次数

这有什么不对?迭代Django模板中的字典

我试图在Django模板中迭代模型值的字典 - 我想列出每个模型字段的verbose_name及其值.

这是我在models.py中的内容:

class Manors(models.Model):
    structidx = models.IntegerField(primary_key=True, verbose_name="ID")    
    county = models.CharField(max_length=5, null=True, blank=True, verbose_name="County")   

    def get_fields(self):
            d = {}
            #d["database"] = "pubs"
            #d["uid"] = "sa"
            for field in Manors._meta.fields:
                d[field.verbose_name(self)] = field.value_to_string(self)
            return d
Run Code Online (Sandbox Code Playgroud)

在views.py中:

    manor_stats = Manors.objects.get(structidx__exact=id)
    return render_to_response('template.html', { 'place' : place, 'manor_stats' : manor_stats }, context_instance = RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

在模板中:

<h4>Statistics</h4>
<ul>
 {% for key, value in manor_stats.get_fields %}
 <li> {{ key }}: {{ value }} </li>
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)

但我只是得到一个奇怪的,扭曲的列表,如:

u: i
d: a …
Run Code Online (Sandbox Code Playgroud)

python django django-templates

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

SqlAlchemy:如果不存在则创建对象?

我是SQLAlchemy的新手.我目前有:

ev = model.EnumerationValue(key=key_level_2, code=level_2)
ev.keyvalues[key_parent] = level_1
model.Session.add(ev)
Run Code Online (Sandbox Code Playgroud)

如何更改此选项,以便仅在尚未存在的情况下添加该对象?这样会很好......

model.Session.create_if_does_not_exist(ev)
Run Code Online (Sandbox Code Playgroud)

谢谢!

sqlalchemy

7
推荐指数
1
解决办法
6478
查看次数

Android:从android.net.URI构造一个文件

我有一个android.net.URI对象(在MediaStore.ACTION_VIDEO_CAPTURE之后由onActivityResult返回的那种):它看起来像content:// media/video/media/33.

我想将它转换为File对象,只有一个File对象 - 我需要将它传递给另一个需要File的构造函数.

如何将这样的URI转换为File对象?如果我试试

File newFile = new File(myURI);
Run Code Online (Sandbox Code Playgroud)

我在Eclipse中收到错误,建议我将URI转换为String.在构造函数中提供URI.getPath()也没有帮助.

这涉及' 如何将android.net.uri对象转换为java.net.uri对象?'问题,遗憾的是似乎没有好的答案,但我想要一个File对象,而不是java uri.

我不介意我是否必须将它写入字节流并再次返回 - 无论什么是最好的方法.

如果我在交叉发布我自己的问题,请道歉,但我想我可能需要让事情更清楚一些.

android

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