小编zub*_*hav的帖子

按周、月、日分组

我想根据模型的日期时间属性按日期间隔对查询集进行分组。我想每天、每周和每月显示模型的平均值。

例如

  • 2017 年 1 月 1 日开始的一周 - 平均距离:30
  • 从 08/01/2017 开始的一周 - 平均距离:40 ...

这可以用标准的 Django 查询集 API 来实现吗?

django

9
推荐指数
2
解决办法
4858
查看次数

芹菜工人和节拍负荷在一个命令

有没有办法启动芹菜工人并在一个命令中击败?我想在使用Fabric的自动部署过程中添加芹菜.

我目前正在运行:

celery -A prj worker -B
Run Code Online (Sandbox Code Playgroud)

其次是

celery -A prj beat -l info -S django
Run Code Online (Sandbox Code Playgroud)

但是,第一个命令启动worker,并且不允许运行下一个命令(启动节拍),因为出现了worker启动消息.

有没有办法避免出现启动消息?或者在一个命令中执行这两个操作?也许有一种方法可以从我的Django配置启动这些?

谢谢!

celery django-celery celerybeat django-deployment

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

如何将嵌套路由移动到单独的 urls.py 中?

我想知道我是否可以得到你的帮助。

我有一个 urls.py,其中包含以下内容:

router = routers.SimpleRouter()
# AccountViewSet in accounts app
router.register(r'accounts', AccountViewSet) 
# ProjectViewSet in projects app
router.register(r'projects', ProjectViewSet) 

accounts_router = routers.NestedSimpleRouter(router, r'accounts', lookup='account')
# AccountProjectsViewSet in projects app
accounts_router.register(r'projects', AccountProjectsViewSet) 
Run Code Online (Sandbox Code Playgroud)

如您所见,由于嵌套路由,帐户和项目之间的联系非常紧密。

我想将帐户路由逻辑移到accounts/urls.py,将项目路由逻辑移到projects/urls.py。

到目前为止,我在这方面的尝试导致以下错误:

RuntimeError: parent registered resource not found
Run Code Online (Sandbox Code Playgroud)

甚至可以将这个逻辑分开,还是需要在一起?

谢谢你的建议。

django django-urls django-rest-framework

5
推荐指数
0
解决办法
468
查看次数

序列化错误:类型不正确。预期pk值,收到Post

我正在尝试使用嵌套序列化创建一个对象,以便也创建与其相关的其他对象。我已经覆盖了ModelSerializer的create()方法,并且成功创建了主对象。

    def create(self, validated_data):
        post_data = validated_data.pop('post_set')
        big_post = BigPost.objects.create(**validated_data) // This works
        for post in post_data:
            e = PostSerializer(data=post)
            if e.is_valid():
                e.save()
            else:
                print(e.errors) // Prints 'Incorrect type' error
        return big_post
Run Code Online (Sandbox Code Playgroud)

但是,在尝试创建嵌套对象 (Post) 时,出现此错误:

{'注意':['类型不正确。预期 pk 值,收到注意。']}

'note' 是 PostSerializer 的一个字段,如下所示:

class PostSerializer(serializers.ModelSerializer):
    class Meta:
        model = Post
        fields = ('id', 'note', 'title', 'description')
Run Code Online (Sandbox Code Playgroud)

我知道 ModelSerializer 的默认行为是为模型的任何相关字段创建 PrimaryKeyRelatedField。但是,我不知道为什么当提交的数据只是一个像这样的 PK 时会创建一个实例:{"note":3, ....}

django django-rest-framework

5
推荐指数
1
解决办法
3623
查看次数

带有外键的序列化程序 - GET 和 POST

我目前有一个带有外键字段的模型序列化程序。我想要一个序列化对象的相关模型,而不仅仅是一个 ID。我知道这可以通过为相关模型创建序列化程序并执行

related_field = RelatedFieldSerializer()
Run Code Online (Sandbox Code Playgroud)

但是,在主对象发生创建/更新时如何处理这种情况?例如,我想创建主对象的实例,但相关字段将作为对象(而不是 pk)发送,并且不会引用现有的外键,它将尝试创建一个新对象。

希望这是有道理的

django django-rest-framework

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

Django 自定义 404 处理程序

我们最近升级到 Django 1.10,我们在实时站点上收到此错误:

内置:TypeError custom_404() 得到了一个意外的关键字参数“异常”

代码如下:

网址.py

urlpatterns = [ ... ]
handler404 = global_views.custom_404
handler500 = global_views.custom_500
Run Code Online (Sandbox Code Playgroud)

global_views.py

def custom_404(request, exception, template_name='404.html'):
    return page_not_found(request, exception, template_name=template_name)   

def custom_500(request, template_name='500.html'):
    return server_error(request, template_name=template_name) 
Run Code Online (Sandbox Code Playgroud)

我们已经尝试了该视图的许多变体,但都导致了该错误。

怎么了?

python django

0
推荐指数
1
解决办法
1291
查看次数