序幕:
我在多个帖子中看到了这个问题:
并且也可以在这里应用:
我已经在SO文档中编写了一个示例,以便在上述问题中统一我的答案,但由于文档将于2017年8月8日关闭,我将遵循这个广泛上升和讨论的元答案的建议并将我的示例转换为自我回答帖子.
当然,我也很高兴看到任何不同的方法!
题:
我想APIView在Django Rest Framework项目中使用非通用视图/视图集(例如:) .
当我阅读分页文档时:
只有在使用通用视图或视图集时,才会自动执行分页.如果您使用常规
APIView,则需要自己调用分页API以确保返回分页响应.有关示例,请参阅mixins.ListModelMixin和generics.GenericAPIView类的源代码.
我还可以继续使用非通用视图/视图集吗?
我怎样才能实现分页呢?
我刚刚使用最新版本的KyngChaos库在OSX Mavericks上安装了Postgres 9.3.4和PostGIS 2.1 .
但是,当我尝试在数据库上创建空间扩展时,我不能,因为Postgres声称无法看到扩展文件:
:~ anna$ psql -d land -c "CREATE EXTENSION postgis;"
ERROR: could not open extension control file
"/usr/local/Cellar/postgresql/9.3.4/share/postgresql/extension/postgis.control":
No such file or directory
Run Code Online (Sandbox Code Playgroud)
看起来该文件位于其他位置:
:~ anna$ mdfind postgis.control
/usr/local/pgsql-9.3/share/extension/postgis.control
Run Code Online (Sandbox Code Playgroud)
我肯定使用Postgres的预期版本,虽然我不知道这是否是KyngChaos库通常安装的地方:
Annas-MacBook-Air:~ anna$ psql --version
psql (PostgreSQL) 9.3.4
Annas-MacBook-Air:~ anna$ which psql
/usr/local/pgsql-9.3/bin/psql
Run Code Online (Sandbox Code Playgroud)
我一直非常小心不使用Homebrew等安装Postgres,因为我知道它会导致同一系统的多个版本出现问题.
任何人都可以建议扩展文件为什么不在预期的位置?
更新:
看起来可能在我的系统上有多个版本的Postgres浮动,我使用的是错误的版本?
:~ anna$ mdfind -name "postgres" | grep -G "postgres$"
/usr/local/pgsql-9.3/bin/postgres
/usr/local/var/postgres
/usr/local/Cellar/postgresql/9.3.4/bin/postgres
Run Code Online (Sandbox Code Playgroud)
我应该使用哪一个,如何设置系统默认使用这个?
进一步更新
这是输出pg_config:
BINDIR = /usr/local/pgsql-9.3/bin
DOCDIR = /usr/local/pgsql-9.3/share/doc
INCLUDEDIR = /usr/local/pgsql-9.3/include
PKGINCLUDEDIR …Run Code Online (Sandbox Code Playgroud) TL; DR:
我需要一种方法在信号发出后post_save自动触发自定义信号,有没有办法做到这一点?
我目前正在开发的Django库,需要自带了很多,并与云post_save在Django的信号,我想知道是否有可能触发另一信号之后的post_save,所以我可以实现我自己的,而不是介入post_save的情况下,一个项目,使用库需要做到这一点.
到目前为止,我知道信号预计将接收一个类作为发送者参数,如果我手动触发post_save中的信号,我将无所事事(我仍然会干预它).这有什么解决方法吗?我在文档中遗漏了什么吗?
我在 Django 中使用 celery 3。
我有一个数据库中的工作列表。用户可以启动启动芹菜任务的特定作业。
现在我希望用户能够启动多个作业,它应该将它们添加到 celery 队列中并一个接一个地处理它们,而不是像异步那样并行处理。
我正在尝试使用 celery 创建一个作业调度程序,用户可以在其中选择要执行的作业,并且它们将按顺序执行。
如果我使用,chain()则无法动态地向链中添加新任务。
什么是?最好的解决方案?
我试图使用geodjango找到距离某个位置最近的点.
我尝试使用以下代码:
LocationInfo.objects.filter(coordinates__distance_lte=(user_location, D(km=2)))
Run Code Online (Sandbox Code Playgroud)
但它仅在位置在指定距离内时才有效(D(km=2)在本例中).
我需要在查询过程中找到离用户最近的点而不使用任何限制.
如何处理django github或任何其他公共域版本控制站点等Web框架的安全性.
该settings.py罐,并且常会包含敏感的数据库信息,密码和密钥,这不应该在资源库,并且在普通视图上载.
什么是常见的做法和最麻烦的处理方式?
如何通过一些简单的自定义方法对 Django admin 中的列进行排序?
(我得到的所有答案都是通过使用,annotate但我不知道如何使用它)。
假设模型
class Shots(models.Model):
hits = models.PositiveIntegerField()
all = models.PositiveIntegerField()
Run Code Online (Sandbox Code Playgroud)
在管理站点中,我想按hits to all比例排序:
class ShotAdmin(admin.ModelAdmin):
list_display = ['ratio']
def ratio(self, obj):
return obj.hits / obj.all * 100
Run Code Online (Sandbox Code Playgroud)
我知道这ratio不是 DB 中的一个字段,因此简单的ratio.admin_order_field = 'ratio'行不通,我需要以某种方式将它附加为一个字段,但我不知道如何。
序幕:
这是SO中经常出现的问题:
并且可以应用于上述以及以下内容:
我想在SO文档上撰写一个例子,但是自2017年8月8日关闭以来,我将按照这个广泛赞成和讨论的元回答的建议,并将我的例子写成一个自我回答的帖子.
当然,我也很乐意看到任何不同的方法!
题:
的Django/GeoDjango内置有一些数据库功能,如Lower()或MakeValid()它可以像这样使用:
Author.objects.create(name='Margaret Smith')
author = Author.objects.annotate(name_lower=Lower('name')).get()
print(author.name_lower)
Run Code Online (Sandbox Code Playgroud)
有没有办法根据现有的数据库函数使用和/或创建自己的自定义数据库函数,如:
Position() (MySQL的)TRIM() (SQLite的)ST_MakePoint() (PostgreSQL与PostGIS)如何在Django/GeoDjango ORM中应用/使用这些功能?
序幕:
这是SO中经常出现的问题:
我已经在SO文档中编写了一个示例,但由于文档将于2017年8月8日关闭,我将遵循这个广泛上升和讨论的元答案的建议,并将我的示例转换为自我回答的帖子.
当然,我也很乐意看到任何不同的方法!
题:
假设模型:
class Books(models.Model):
title = models.CharField()
author = models.CharField()
price = models.FloatField()
Run Code Online (Sandbox Code Playgroud)
如何使用Django ORM在该模型上执行以下查询:
GROUP BY ... COUNT:
SELECT author, COUNT(author) AS count
FROM myapp_books GROUP BY author
Run Code Online (Sandbox Code Playgroud)GROUP BY ... SUM:
SELECT author, SUM (price) AS total_price
FROM myapp_books GROUP BY author
Run Code Online (Sandbox Code Playgroud)我正在geodjango上构建简单的gis系统.
该应用程序显示一组地图,我也试图为这些地图提供RESTFUL API.
我正在决定是为API创建单独的应用程序还是在现有应用程序内部工作.
这两个应用程序在逻辑上是分开的,但它们共享相同的模型.
那么什么被认为更好?
django ×9
python ×8
geodjango ×4
celery ×1
database ×1
django-admin ×1
django-orm ×1
git ×1
github ×1
group-by ×1
pagination ×1
postgis ×1
postgresql ×1
sorting ×1