小编Sey*_*ini的帖子

PostgreSQL:如何在 sql 查询中将 date_trunc 周开始日从星期一更改为另一天?

我想date_trunc在日期时间列上使用PostgreSQL 中的函数来聚合一周内的数据。

例如,我需要每周获得销售数量。

问题是date_trunc('week', datetime_column)函数将星期一视为一周的开始日,而我的一些客户在日历中使用不同的开始日(如星期六)。

我试过

 SELECT date_trunc('WEEK',(time_id + interval '2 day'))- interval '2 day' AS WEEK
Run Code Online (Sandbox Code Playgroud)

但它很乱,我认为必须有更好的方法。

sql postgresql weekday

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

Django React 项目结构

我有一个以 Django 作为后端的项目。

\n\n

对于客户端,我有 4 个不同的部分:

\n\n
    \n
  • 超级用户的 Django 管理面板由 Django 本身呈现。
  • \n
  • 用户登录注册部分由 Django-Jinja 模板系统呈现。
  • \n
  • 应用程序管理面板是一个反应应用程序
  • \n
  • 主应用程序前端是一个反应应用程序
  • \n
\n\n

我脑子里的结构是这样的:

\n\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 djangoproject\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 settings.py (can be folder)\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 urls.py\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 wsgi.py\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 apps\n|   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 admin_panel\n|   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 core\n|   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 auth\n|   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 ...\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 templates\n|   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 admin_panel (react)\n|   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 core (react)\n|   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 auth\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 static\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 manage.py\n
Run Code Online (Sandbox Code Playgroud)\n\n

我有两个问题:

\n\n

1-我应该更改项目的结构(例如将反应文件夹带到外面或使用前端文件夹命名而不是模板?)

\n\n

2-将git 子模块用于 React 应用程序并仅在主项目中提交它们的构建是否常见(或合理) ?如果是的话,您能举出任何例子或最佳实践吗?

\n

git django structure reactjs

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

将父模型对象和子模型对象保存在一起

我使用 Django 2.0 和 mysql 数据库,我的项目模型是这样的:

class Parent(models.Model):
    name = models.CharField()

class Child(models.Model):
    number = models.IntegerField()
    parent = models.ForeignKey(Parent)
Run Code Online (Sandbox Code Playgroud)

我想要的是同时将父对象和子对象保存在一起,以便在任何情况下子对象有错误(例如数字字段是“某些文本”)并且无法保存父对象不会保存。

在 Flask(使用 postgresql)中有 add(object) 和 add_all([parent, child]) 方法,我使用了 add_all 所以如果孩子有错误,父母不会保存。

但是在 Django 中我找不到这个方法。

默认方法是:

parent = Parent(name = "my name")
parent.save()

child = Child(number=3, parent=parent)
child.save()
Run Code Online (Sandbox Code Playgroud)

我想要的是这样的:

parent = Parent(name = "my name")
child = Child(number=3, parent=parent)
Run Code Online (Sandbox Code Playgroud)

进而:

child.save(with related parent)
Run Code Online (Sandbox Code Playgroud)

或者:

save(parent, child together)
Run Code Online (Sandbox Code Playgroud)

PS:我阅读了这个链接,我认为“SET”方法是我所需要的,但我不确定如何使用它以及它是否是解决方案: django关系

python mysql django database-relations django-models

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

Pandas - 使用查询过滤最近 n 个月的数据

我想根据筛选我的数据帧time使用列的查询功能,并获取行time的最后N一个月(或任何时间段)。

基本上我需要这样的东西:

df = df.query("time.isin(timeperiod('5M'))")

Run Code Online (Sandbox Code Playgroud)

或者

df = df.query("now() >= time >= now() - timeperiod('5M')")
Run Code Online (Sandbox Code Playgroud)

我正在尝试为我的过滤器函数创建查询模式,使用query()函数很重要 。

请注意,timeperiod()now()函数不可用,我使用它们是为了更好地理解我想要的解决方案。我的意思是请在您的解决方案中定义这些函数。

样本:

df = pd.DataFrame()
df['time1'] = pd.date_range('1/1/2019', periods=1000, freq='D')
df['time2'] = pd.date_range('1/1/2018', periods=1000, freq='D')
Run Code Online (Sandbox Code Playgroud)

示例数据可以有其他一些列。

我需要N使用query()函数过滤数据以获取上个月内每个给定列的记录。例如,我想要time1过去 2 个月和time2过去 3 个月的记录。就像获取过去 3 个月内被雇用并在过去 2 个月内被解雇的人员的记录。

更新1:

感谢@jezrael,我可以得到这样的now()功能query()

df = df.query("@pd.Timestamp('now') >= time")
Run Code Online (Sandbox Code Playgroud)

当然Timestamp可以用“to_datetime”或其他东西代替。 …

python datetime filter pandas

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