我在自动完成文本输入中使用Typeahead.js,这很棒.但是当输入获得焦点时,我需要使用所有可用选项激活下拉菜单.我见过的每一个可能的解决方案都涉及用一些值初始化输入,但我需要显示所有选项.
我怎么能实现这个目标?
我正在尝试解决问题,但我不知道如何面对它.我需要一些帮助 :-)
我有这样的模型层次结构:
class Task(models.Model):
name = models.CharField(max_length=255)
number_of_steps = models.IntegerField()
class StepGroup(models.Model):
task = models.ForeignKey(Task)
init_date = models.DateField()
class Step(models.Model):
group = models.ForeignKey(StepGroup)
name = models.CharField(max_length=255)
Run Code Online (Sandbox Code Playgroud)
我必须编写一个对话框,在其中创建一些步骤组.InlineFormSet看起来可行,但由于嵌套有两个层次,我不知道如何做到这一点.
此外,我需要通常的表单形式:错误控制(form.name_of_field.errors),编辑任务时的自动填充等,所以使用javascript手动执行它,服务器端处理POST请求将太复杂和错误 - 易于.
这是我需要表单的方式(每个组中的步骤数由Task模型中的"number_of_steps"字段设置):
+-----------------------------------+
| STEP GROUP 1 |
| |
| Init date: _____________ |
| |
| Step 1: ________________ |
| Step 2: ________________ |
| Step 3: ________________ |
| |
+-----------------------------------+
| STEP GROUP 2 |
| |
| Init date: _____________ |
| |
| …Run Code Online (Sandbox Code Playgroud) 我试图从Cassandra表读取数据时遇到了堰错误.我有一个单节点安装,默认设置.这是我正在进行的查询:
SELECT component_id,
reading_1,
reading_2,
reading_3,
date
FROM component_readings
WHERE park_id=2
AND component_id IN (479)
AND date >= '2016-04-09+0000'
AND date <= '2016-05-08+0000';
Run Code Online (Sandbox Code Playgroud)
component_readings 是一个简单的表,没有聚类条件:
CREATE TABLE component_readings (
park_id int,
component_id int,
date timestamp,
reading_1 decimal,
reading_2 decimal,
...
PRIMARY KEY ((park_id), component_id, date)
);
Run Code Online (Sandbox Code Playgroud)
对于某些component_id值,它可以工作,而对于其他值,它会失败.这是我得到的错误:
cassandra.ReadFailure: code=1300 [Replica(s) failed to execute read]
message="Operation failed - received 0 responses and 1 failures"
info={'required_responses': 1, 'received_responses': 0, 'failures': 1,
'consistency': 'LOCAL_ONE'}
Run Code Online (Sandbox Code Playgroud)
而cassandra的system.log显示了这个错误:
ERROR [SharedPool-Worker-1] 2016-05-09 15:33:58,872 StorageProxy.java:1818 - …Run Code Online (Sandbox Code Playgroud) 我已经从SQLServer表加载了一个DataFrame.它看起来像这样:
>>> df.show()
+--------------------+----------+
| timestamp| Value |
+--------------------+----------+
|2015-12-02 00:10:...| 652.8|
|2015-12-02 00:20:...| 518.4|
|2015-12-02 00:30:...| 524.6|
|2015-12-02 00:40:...| 382.9|
|2015-12-02 00:50:...| 461.6|
|2015-12-02 01:00:...| 476.6|
|2015-12-02 01:10:...| 472.6|
|2015-12-02 01:20:...| 353.0|
|2015-12-02 01:30:...| 407.9|
|2015-12-02 01:40:...| 475.9|
|2015-12-02 01:50:...| 513.2|
|2015-12-02 02:00:...| 569.0|
|2015-12-02 02:10:...| 711.4|
|2015-12-02 02:20:...| 457.6|
|2015-12-02 02:30:...| 392.0|
|2015-12-02 02:40:...| 459.5|
|2015-12-02 02:50:...| 560.2|
|2015-12-02 03:00:...| 252.9|
|2015-12-02 03:10:...| 228.7|
|2015-12-02 03:20:...| 312.2|
+--------------------+----------+
Run Code Online (Sandbox Code Playgroud)
现在我想按小时(或天,或月或......)对值进行分组(和求和),但我真的不知道如何做到这一点.
这就是我加载DataFrame的方式.我觉得这不是正确的做法,但是:
query = """
SELECT column1 AS timestamp, column2 …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一条需要访问其父模型的路由.我使用this.modelFor(),但是当我这样做时,父模型没有完全加载,所以它的所有属性都包含null.
这是路由器,有两个动态段:
MGames.Router.map(function () {
this.resource('games', function () {
this.resource ('game', {path: '/:game_id'}, function () {
this.resource('board', {path: '/boards/:board_id'});
});
});
});
Run Code Online (Sandbox Code Playgroud)
这是我的GameRoute,完美运作:
MGames.GameRoute = Ember.Route.extend ({
model: function (params) {
return MGames.Game.find(params.game_id);
}
});
Run Code Online (Sandbox Code Playgroud)
最后这是儿童路线,谁需要访问游戏模型,这就是我写的.但不管我做什么,console.log()总是打印null.如果我检查game变量,则该isLoad属性始终为null:
MGames.BoardRoute = Ember.Route.extend ({
model: function (params) {
var game = this.modelFor ('game');
console.log (game.get("id"));
return MGames.Board.find(game.get("id"), params.board_id);
}
});
Run Code Online (Sandbox Code Playgroud)
我做错了什么,或者(我怀疑)我错过了一些Ember概念?
我开始使用图形数据库,在我的团队中,我们已经开始为我们的软件建模图形.当我们尝试"记录"模型,查看数据库的结构时,就会出现问题.使用SQL数据库,您只需要查看SQL模式.
我们花了一些时间阅读neo4j博客和文档,但我们已经看到显示图表如何工作的常用方法是使用显示一些样本数据的最小图表(随机样本:sample1,sample2等).这非常适合教育目的,但我们希望能够以更正式的方式做到这一点.我们想要设置什么样的节点可以与另一个节点相关联,以及什么样的关系,那种东西.
使用Spring,您可以使用类包装图形,但它非常特定于Java和OO模型,我们正在使用Erlang.我们正在寻找某种形式语言(等效的SQL Schema),或等效的ER模型,或类似的东西.
在我的User个人资料模型中,我show_email明确地包含了一个字段.因此,要将此功能添加到我的API,UserSerializer类如下所示:
class UserSerializer(serializers.ModelSerializer):
email = serializers.SerializerMethodField('show_email')
def show_email(self, user):
return user.email if user.show_email else None
class Meta:
model = django.contrib.auth.get_user_model()
fields = ("username", "first_name", "last_name", "email")
Run Code Online (Sandbox Code Playgroud)
但我真的不喜欢它.我认为这将是一个更加简洁如果该字段email将从串行输出它完全排除show_email是False,反而显示出丑陋的"email": null东西.
我怎么能这样做?
我不确定这是熊猫的错误还是我做错了什么。
给定一个像这样的日期时间:
foo_date = pd.Timestamp('2016-10-30 00:00:00',
tz=pytz.timezone('Europe/Helsinki'))
Run Code Online (Sandbox Code Playgroud)
和间隔偏移('D','10m',等等),我想获取下一个间隔的开始日期。
我这样做:
offset = pd.tseries.frequencies.to_offset('D') # 'D' or any other offset, it shouldn't matter
new_date = foo_date + offset
Run Code Online (Sandbox Code Playgroud)
或者像这样(相同的结果):
offset = pd.DateOffset(1)
new_date = foo_date + offset
Run Code Online (Sandbox Code Playgroud)
我期待这个:
Timestamp('2016-10-31 00:00:00+0200', tz='Europe/Helsinki')
Run Code Online (Sandbox Code Playgroud)
但相反,我得到的是:
Timestamp('2016-10-30 23:00:00+0200', tz='Europe/Helsinki')
Run Code Online (Sandbox Code Playgroud)
问题是,2016-10-30由于 DST 更改,一天为 25 小时,因此当我添加 时offset,它只添加 24 小时,并且我得到了错误的日期时间。
我认为时间偏移应该是时区感知的,但似乎它们不是。我怎样才能实现我所需要的?
在外部库的某个地方(当然,我无法更改),以这种方式创建了一个事件侦听器:
someElement.addEventListener('keydown', function(e) {
whatever();
});
Run Code Online (Sandbox Code Playgroud)
我需要摆脱这个监听器或以某种方式覆盖它。但似乎无法做到,因为我没有任何方法可以引用使用的匿名函数。
这不是唯一被删除的侦听器。卸下所有的keydown听众会也行,如果有可能。
我已经看到一个选项是克隆元素并替换它,但我不能这样做,因为有很多初始化,并且创建了很多其他事件侦听器。我只需要取消那个keydown。
有什么我可以做的吗?
我有两个数据帧(很长,每个有数百或数千行).其中一个被称为df1包含时间序列,间隔为10分钟.例如:
date value
2016-11-24 00:00:00 1759.199951
2016-11-24 00:10:00 992.400024
2016-11-24 00:20:00 1404.800049
2016-11-24 00:30:00 45.799999
2016-11-24 00:40:00 24.299999
2016-11-24 00:50:00 159.899994
2016-11-24 01:00:00 82.499999
2016-11-24 01:10:00 37.400003
2016-11-24 01:20:00 159.899994
....
另一个df2包含日期时间间隔:
start_date end_date
0 2016-11-23 23:55:32 2016-11-24 00:14:03
1 2016-11-24 01:03:18 2016-11-24 01:07:12
2 2016-11-24 01:11:32 2016-11-24 02:00:00
...
我需要选择df1"fall"中的所有行到一个区间df2.
通过这些示例,结果数据框应为:
date value
2016-11-24 00:00:00 1759.199951 # Fits in row 0 of df2
2016-11-24 00:10:00 992.400024 # Fits in row 0 … 当用户按下某个键时,会显示一个组件。我有四个这样的组件。当用户打字或编辑时,我想禁用热键。
我在四个组件中都有这段代码
componentDidMount(){
document.body.addEventListener("keypress", (e) => {
if (e.key === "t") { // "n" "w" "," for the others
this.setState({opened: !this.state.opened});
}
});
}
Run Code Online (Sandbox Code Playgroud)
我只想在用户键入或编辑时禁用热键。有没有办法知道是否有任何输入处于焦点?或者另一种方式,我们可以仅在所有输入都“模糊”时添加事件侦听器吗?
我有一个包含用户之间关系的图表,显示哪些用户访问了另一个人的个人资料以及何时访问:
(visitor:User)-[:VISITED]->(visitee:User)
Run Code Online (Sandbox Code Playgroud)
但我不想存储从一开始以来的每次访问。我只想要用户访问过的最后 X 个用户。因此,在添加新关系之前,我必须删除最旧的关系,但我不知道如何删除它。我只能得到按日期排序的列表:
MATCH (visitor:User)-[r:VISITED]->(User)
WHERE visitor.user_id = %s
RETURN r
ORDER BY r.date
Run Code Online (Sandbox Code Playgroud)
我需要的是删除此列表中的第一个关系。我怎样才能做到这一点?
javascript ×4
python ×3
django ×2
neo4j ×2
pandas ×2
apache-spark ×1
cassandra ×1
cypher ×1
django-forms ×1
ember.js ×1
hotkeys ×1
nosql ×1
pyspark ×1
typeahead.js ×1