小编Joh*_*ann的帖子

什么时候应该使用自定义管理器而不是Django中的自定义QuerySet?

在Django中,自定义管理器是组织可重用查询逻辑的好方法.该文件指出,有可能是您想自定义管理两方面的原因:添加额外的管理方法,和/或修改初始查询集经理的回报.

但是,它继续描述了如何创建自定义QuerySet,以及可以通过数据模型直接从数据模型访问这些查询集QuerySet.as_manager().QuerySet.as_manager()创建的Manager实例与前一个示例中的PersonManager几乎完全相同.

在自定义Manager和/或自定义QuerySet之间如何组织逻辑似乎有很大的灵活性.有人可以解释我应该决定何时使用其中一种的原则吗?

python django orm django-managers

47
推荐指数
2
解决办法
7031
查看次数

Django FileField(或ImageField)open()方法为有效文件返回None?

让我这样说:

model.py:

class Task(models.Model):
    ...
    seq_file = models.FileField(upload_to='files/', blank=True, null=True)
    ...
Run Code Online (Sandbox Code Playgroud)

ajax.py(我使用的是dajaxice,但没关系):

...
def startTask(request, name):
    task = Task.objects.get(task_name=name)
    data = task.seq_file.open()
    filename = os.path.join(settings.MEDIA_ROOT ,task.seq_file.name)
    if not os.path.isfile(filename):
        raise Exception, "file " + filename + " not found."
    sequences = parser.parse(data.read())
    ...
Run Code Online (Sandbox Code Playgroud)

这会返回:

File "/home/mnowotka/Dokumenty/MgrFuncAdnot/app/django-gui/src/gui/ajax.py", line 43, in startTask
sequences = parser.parse(data.read())

AttributeError: 'NoneType' object has no attribute 'read'
Run Code Online (Sandbox Code Playgroud)

但:

...
def startTask(request, name):
    task = Task.objects.get(task_name=name)
    filename = os.path.join(settings.MEDIA_ROOT ,task.seq_file.name)
    if not os.path.isfile(filename):
        raise Exception, "file " + …
Run Code Online (Sandbox Code Playgroud)

python django

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

如何在Play 2.0中为每个环境设置不同的数据库?

我希望我的Play应用程序使用不同的数据库进行测试,本地和生产(生产是Heroku)环境.

application.conf我有:

db.default.driver=org.postgresql.Driver 

%dev.db.default.url="jdbc:postgresql://localhost/foobar" 
%test.db.default.url="jdbc:postgresql://localhost/foobar-test" 
%prod.db.default.url=${DATABASE_URL} 
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用.当我运行play testplay run所有数据库访问失败时:

 Configuration error [Missing configuration [db.default.url]] (Configuration.scala:258) 
Run Code Online (Sandbox Code Playgroud)

我有几个问题:

  • 在一般情况下,我有点困惑的数据库是如何在游戏配置:它看起来像有平原db,db.[DBNAME]db. [DBNAME].url与不同的教程让那些之间不同的选择.某些表达式似乎应该可以正常工作(例如db.default.url = "jdbc:...",在预期对象的位置提供字符串的错误时失败).

  • 我见过其他人认为我创建单独的prod.conf,dev.conftest.conf文件均包括application.conf然后包含特定DB-配置.但在这种情况下,如何指定test从Play控制台运行时要使用的数据库?

  • %env语法是否适用于Play 2?

  • 指定play test要使用的环境的正确方法是什么?

database configuration scala playframework playframework-2.0

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

Django只记录我的应用程序

默认情况下,我可以通过创建一个""可以捕获所有内容的记录器,在SETTINGS配置中启用settings.py中的日志记录.但是,如果我只想从我的项目的应用程序中看到日志记录而不是Django内部组件呢?

我可以想象在我的每个Django应用程序模块中明确地获取一个记录器并按照某些约定命名它,例如logging.getLogger("myproject." + __file__).然后我可以创建一个名为'myproject'的记录器(在SETTINGS中),它将所有这些记录器输出.我不想硬编码我的项目名称,所以我会做一些os.path逻辑,___file___以任意深度提取完整的命名空间到文件.

在这一点上,我停下来,想知道有更简单的方法吗?

django logging

14
推荐指数
2
解决办法
4777
查看次数

如何确定Git中的樱桃选择器的提交者?

在Git中,cherry-pick至少在没有冲突时保留原始提交的作者,时间戳等.但有没有办法确定哪些用户执行了将该提交带到新分支的樱桃选择?

git merge cherry-pick git-cherry-pick

12
推荐指数
2
解决办法
4874
查看次数

Bootstrap响应式图像缩放

使用Twitter Bootstrap我意识到默认情况下它会响应地缩放图像.这很棒,但并不总是完美的.

比方说,我500x300在桌面上有一个图像,然后它调整移动大小,图像将非常小而不是很高,丢失图像的大部分细节部分.

我已经看到其他网站实际上没有多大的缩放图像,而是使用父div来排序mask图像.(http://www.fitnessfireworks.com就是一个很好的例子,不再可用.)

完成此任务的最佳方法是什么?的组合CSS背景图像和背景图像缩放?只是寻找最佳实践.

css background-image responsive-design twitter-bootstrap

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

为什么单个和批量文档的MALLET主题推断得到不同的结果?

我正在尝试使用Mallet 2.0.7执行LDA主题建模.根据训练课程的输出,我可以训练LDA模型并获得良好的结果.此外,我可以使用该过程中内置的inferencer,并在重新处理我的训练文件时获得类似的结果.但是,如果我从较大的训练集中获取单个文件,并使用推理器处理它,我会得到非常不同的结果,这是不好的.

我的理解是推理器应该使用固定模型,并且只有该文档的本地特征,所以我不明白为什么在处理1个文件或我的训练集中的1k时会得到任何不同的结果.我没有做频率截止,这似乎是一种具有这种效果的全局操作.你可以在下面的命令中看到我正在使用的其他参数,但它们大部分都是默认的.将迭代次数更改为0或100没有帮助.

导入数据:

bin/mallet import-dir \
  --input trainingDataDir \
  --output train.data \
  --remove-stopwords TRUE \
  --keep-sequence TRUE \
  --gram-sizes 1,2 \
  --keep-sequence-bigrams TRUE
Run Code Online (Sandbox Code Playgroud)

培养:

time ../bin/mallet train-topics
  --input ../train.data \
  --inferencer-filename lda-inferencer-model.mallet \
  --num-top-words 50 \
  --num-topics 100 \
  --num-threads 3 \
  --num-iterations 100 \
  --doc-topics-threshold 0.1 \
  --output-topic-keys topic-keys.txt \
  --output-doc-topics doc-topics.txt
Run Code Online (Sandbox Code Playgroud)

培训期间分配给一个文件的主题,特别是#14是关于正确的葡萄酒:

998 file:/.../29708933509685249 14  0.31684981684981683 
> grep "^14\t" topic-keys.txt 
14  0.5 wine spray cooking car climate top wines place live honey sticking ice prevent collection market …
Run Code Online (Sandbox Code Playgroud)

nlp machine-learning mallet topic-modeling

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

使用注释和属性文件中定义的类型的Spring autowire?

我的目标是一个框架,可以通过属性文件轻松更改具体类型的bean.我也更喜欢注释到XML.理想情况下,我会@Resource像这样使用和SpEL 的组合:

@Resource(type="#{myProperties['enabled.subtype']}")
SomeInterface foo;
Run Code Online (Sandbox Code Playgroud)

我在哪里加载myProperties了一个PropertiesFactoryBean<util:properties>包含以下内容的文件:

enabled.type = com.mycompany.SomeClassA; // which implements SomeInterface
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为参数type必须是文字,即不允许SpEL.这里的最佳做法是什么?

更新:请参阅下面的答案.

java configuration spring annotations dependency-injection

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

基于开源规则的模式匹配/信息提取框架?

我正在购买一个开源框架,用于编写自然语言语法规则,以便在注释上进行模式匹配.您可以将其视为正则表达式,但匹配令牌而非字符级别.这样的框架应该使匹配标准能够引用附加到输入令牌或跨度的其他属性,以及在操作中修改这些属性.

我知道有三个选项符合此描述:

目前还有其他类似的选择吗?

相关工具

  • 虽然我知道像Antlr这样的通用解析器生成器也可以用于此目的,但我正在寻找更适合自然语言处理或信息提取的东西.
  • UIMA包含一个Regex Annotator插件,用于在XML中声明规则,但似乎是在角色而不是高级对象上操作.
  • 我知道这种任务通常用统计模型来执行,但对于狭窄的结构化域,手工制作规则是有益的.

*使用GExp'规则'实际上是在代码中实现的,但由于我选择包含它的选项很少.

text open-source nlp named information-extraction

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

Django 视图导致 Psycopg2 光标存在/不存在错误

我运行一个 Django 站点,它有一个简单的 ModelForm 类型视图,它会产生游标错误。在过去的两天里,这个视图被发布了几百次,大约 8% 的时间产生了错误。我只有这个观点有这个问题,即使我有另一个非常相似的观点。令人沮丧的是,我还没有弄清楚它有什么特别之处。升级到 Django 2.1/2 后,我才开始看到这些错误,但我认为它们可能已经存在,但没有看到。

完整的堆栈跟踪:https : //gist.github.com/jplehmann/ad8849572e569991bc26da87c81bb8f4

[error] (internal users edit) OR (psycopg2 errors cursor)用户名被编辑的查询中记录日志的一些示例,以显示时间:

Jun 04 12:42:12 ballprice app/web.1: [ERROR] Internal Server Error: /users/a/edit  [log:228]
Jun 04 12:42:12 ballprice app/web.1: psycopg2.errors.InvalidCursorName: cursor "_django_curs_140401754175232_2" does not exist
Jun 04 12:42:12 ballprice app/web.1: psycopg2.errors.InvalidCursorName: cursor "_django_curs_140401754175232_2" does not exist
Jun 04 12:42:27 ballprice app/web.1: [ERROR] Internal Server Error: /users/a/edit  [log:228]
Jun 04 12:42:27 ballprice app/web.1: psycopg2.errors.InvalidCursorName: cursor "_django_curs_140401754175232_3" does not exist
Jun …
Run Code Online (Sandbox Code Playgroud)

django postgresql psycopg2

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