小编Ros*_*oss的帖子

什么是在Django中扩展匿名用户的最佳方式?

我想让我的User对象都具有相同的基本行为,为此我需要向Anonymous User添加几个方法/属性.

我已经将User子类化为更丰富的用户对象,但我想知道是否有人对匿名用户做了同样的事情?如果有任何首选方式!

python authentication django

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

反正有没有让pdb和Mac终端很好地玩?

在调试我的django应用程序时,我使用pdb进行交互式调试pdb.set_trace().

但是,当我修改文件时,本地django webserver重新启动,然后我无法看到我在终端中输入的内容,直到我输入reset.

无论如何这是自动发生的吗?它可能真的很烦人,必须取消runserver并重置并重新启动它.我被告知它不会发生在其他操作系统(ubuntu)上,所以无论如何都要让它不会发生在Mac上吗?(我正在使用Snow Leopard).

python django macos terminal pdb

9
推荐指数
1
解决办法
1308
查看次数

Mongoengine ...查询不在ListField中的东西?

例如..

class Page(Document)
    tags = ListField(StringField())
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我们可以像这样在标签列表中找到一个值.

Page.objects(tags='coding')
Run Code Online (Sandbox Code Playgroud)

如果标签像['coding','x','y']那么文件将匹配......

但我的问题是如何找到不在列表字段中的值.

我的错误代码将是..

Page.objects(tags!='coding') 
Run Code Online (Sandbox Code Playgroud)

要么

Page.objects(tags__not = 'coding')
Run Code Online (Sandbox Code Playgroud)

要么

Page.objects(tags__not__in = 'coding')
Run Code Online (Sandbox Code Playgroud)

但是......他们不仅仅是工作..

如何查询ListField中没有给定值的文档?

python django mongodb mongoengine

9
推荐指数
1
解决办法
4386
查看次数

Mongoengine:如何将新文档附加到Embedded ListField文档?

我想将一个新的ListField EmbeddedDocument附加到现有的ListField EmbeddedDocument文档中.换句话说,将新文档附加到属于列表中的文档的列表中.

我的模型:帖子可以包含多个评论,每个评论可以有几个赞:

class Post(Document):
    txt = StringField()
    comments = ListField(EmbeddedDocumentField(Comment))

class Comment(EmbeddedDocument):
    comment = StringField()
    comment_id = ObjectIdField()
    likes = ListField(EmbeddedDocumentField(Like))

class Like(EmbeddedDocument):
    user = ReferenceField(User)
    date = DateTimeField(default=datetime.utcnow,required=True)
Run Code Online (Sandbox Code Playgroud)

我的代码:(它没有工作'append'命令不存在,只有'set'存在)

def appendNewLike():
    user = {..}
    target = ObjectId(commentId)
    newLike = Like(user=user)
    Product.objects(comments__comment_id=target).update(append_comments__S__likes=newLike)
Run Code Online (Sandbox Code Playgroud)

理想的解决方案是:

def appendNewLike():
    user = {..}
    target = ObjectId(commentId)
    newLike = Like(user=user)
    Product.objects(comments__comment_id=target).comments.likes.append(newLike)
Run Code Online (Sandbox Code Playgroud)

评论?建议?

append mongodb listfield mongoengine

9
推荐指数
1
解决办法
4928
查看次数

如何填充字符串中的所有数字

我有很多地址样式字符串,我想以理性的方式对它们进行排序.

我正在寻找填充字符串中的所有数字,以便:"Flat 12A High Rise"变为"Flat 00012A High Rise",字符串中可能有多个数字.

到目前为止我有:

def pad_numbers_in_string(string, padding=5):
    numbers = re.findall("\d+", string)
    padded_string = ''
    for number in numbers:
        parts = string.partition(number)
        string = parts[2]
        padded_string += "%s%s" % (parts[0], parts[1].zfill(padding))
    padded_string += string

return padded_string
Run Code Online (Sandbox Code Playgroud)

可以改进 - 看起来很麻烦!

python string

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

运行tellsiteid时出现Django MongoDB Engine错误

所以我根据教程创建了一个django项目和应用程序,我拥有MongoDB引擎所需的所有依赖项,所有这些似乎都工作正常,花花公子直到我尝试启用管理界面.

我取消注释了需求位,并将"django_mongodb_engine"和"djangotoolbox"添加到settings.py中的apps部分

当我尝试进入localhost:8000/admin时出现错误:

"AutoField(默认主键)值必须是表示MongoDB上的ObjectId的字符串(取而代之的是u'1'.请确保您的SITE_ID包含有效的ObjectId字符串."

经过一些谷歌搜索显然我必须运行manage.py tellsiteid并且它会向我吐出我可以在我的settings.py中使用的ID,这将使错误消失,但是当我尝试运行manage.py tellsiteid时,我得到:

Traceback (most recent call last):
File "./manage.py", line 14, in <module>
execute_manager(settings)
File "/Users/holografix/.virtualenvs/django_nonrel_env/lib/python2.7/site-   packages/django/core/management/__init__.py", line 438, in execute_manager    utility.execute()
File "/Users/holografix/.virtualenvs/django_nonrel_env/lib/python2.7/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/holografix/.virtualenvs/django_nonrel_env/lib/python2.7/site-packages/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/Users/holografix/.virtualenvs/django_nonrel_env/lib/python2.7/site-packages/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/Users/holografix/.virtualenvs/django_nonrel_env/lib/python2.7/site-packages/django/core/management/base.py", line 351, in handle
return self.handle_noargs(**options)
File "/Users/holografix/.virtualenvs/django_nonrel_env/lib/python2.7/site-packages/django_mongodb_engine/management/commands/tellsiteid.py", line 8, in handle_noargs
site_id = self._get_site_id()
File "/Users/holografix/.virtualenvs/django_nonrel_env/lib/python2.7/site-packages/django_mongodb_engine/management/commands/tellsiteid.py", line 19, in _get_site_id
return Site.objects.get().id
File "/Users/holografix/.virtualenvs/django_nonrel_env/lib/python2.7/site-packages/django/db/models/manager.py", line …
Run Code Online (Sandbox Code Playgroud)

django mongodb pymongo django-nonrel

6
推荐指数
3
解决办法
4989
查看次数

Mongoengine地理空间搜索

有人用mongengine进行地理空间搜索吗?我似乎无法让它工作!GeoPointField中必须包含的数据格式是什么?

我该如何格式化?我在文档中找不到任何有关格式化的内容!

geolocation geospatial mongodb pymongo mongoengine

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

如何从mongoengine使用mongodb的query.explain()

我正在尝试分析我的查询性能,并希望改善它们。我使用mongoengine包装器。尽管我正在使用查询日志并获取原始mongo查询并运行explain,但我无法从mongoengine中找到使用explain()的方法,但我想通过mongoengine使用explain来减轻监控的麻烦。有任何想法吗

query-optimization mongodb mongoengine

4
推荐指数
1
解决办法
689
查看次数

Django无法使用Django mongodb引擎?

我用我的服务器安装了django和pymongo和mongoengine.我的django项目settings.py文件:

# Django settings 

DEBUG = True
TEMPLATE_DEBUG = DEBUG

ADMINS = (
    # ('Your Name', 'your_email@example.com'),
)

MANAGERS = ADMINS

DATABASES = {
    'default': {
        'ENGINE': 'django_mongodb_engine', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'RTSdatabase',                      # Or path to database file if using sqlite3.
        'USER': '',                      # Not used with sqlite3.
        'PASSWORD': '',                  # Not used with sqlite3.
        'HOST': 'localhost',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '27017',                      # Set to empty …
Run Code Online (Sandbox Code Playgroud)

python django mongodb

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

拉入mongoengine

我有一个ListField(DictField)包含像 -

{'user_id': '12345', 'timestamp' : 'datetime-object'}
Run Code Online (Sandbox Code Playgroud)

在mongoengine中,如何从user_id上查询的List中删除元素.例如,我想删除具有特定user_id的条目.我试过以下 -

update_one(pull__notes__user_id = '12345')
Run Code Online (Sandbox Code Playgroud)

notes是集合的名称.

此语句返回1但不会从List中删除该元素.我怎样才能做到这一点?

mongodb mongoengine

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

使用MongoEngine自动增量

我正在使用Flask和MongoEngine开发一个博客引擎,我的帖子需要顺序ID.

我需要MongoEngine为每个新帖子创建一个新的ID,所以我想做这样的事情:

class Post(Document):
  title = StringField(required=True)
  content = StringField(required=True)
  published_at = datetime.utcnow()
  id = Post.objects.count() + 1
Run Code Online (Sandbox Code Playgroud)

这会有用吗?有一个更好的方法吗?

python mongodb mongoengine

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

将数组加入可读列表的最佳方法是什么?

我有一个列出一周中几天的数组:

days = ['Monday', 'Tuesday', 'Wednesday']
Run Code Online (Sandbox Code Playgroud)

以人类可读的格式输出它的最简单/最好的方法是什么:

Monday, Tuesday and Wednesday
Run Code Online (Sandbox Code Playgroud)

我所拥有的最好的是相当难看:

', '.join(days[:-2]+['']) + ' and '.join(days[-2:])
Run Code Online (Sandbox Code Playgroud)

python string join

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

mongoengine如何通过使用列表中的包含查询?

如果我有一个列表字段类似于下面的集合.

class Post(Document):
   tags = ListField(StringField())
Run Code Online (Sandbox Code Playgroud)

假设我有一个贴有标签的帖子:有趣,有趣.

如果我想搜索带有标签的帖子满足任何搜索条件,我该怎么办?

如果我将搜索词放在"有趣"和"奇妙"中,则上面的帖子应该在结果集中.

我试图阅读文档,但似乎没有这样的运算符."all"和"in"相似但不能执行我想要的.

谢谢!

干杯,克里斯

mongodb pymongo mongoengine

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