小编fre*_*row的帖子

django聚合或注释

这是一个非常愚蠢的事情,我知道,但我似乎没有得到Django聚合和注释函数的句柄.

我有一个非常简单的模型集:Events,AreasTypes.一个事件有外键指向AreaType.我只想为任何区域提供即将发生的事件的数量,对于任何类型都是相同的,即Area1-5即将发生的事件,Area2-6Type1-34事件等等.

我想避免编写自定义SQL,并尽可能使用q运算符.

django aggregate annotate

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

Django datefield和timefield到python datetime

我有一个Django模型,它有一个事件的单独的Datefield和Timefield.有没有办法将其转换为python日期时间对象,以便我可以精确地查询即将发生的事件?目前我只得到第二天的即将到来.

models.py

event_time = models.TimeField()
event_date = models.DateField()
Run Code Online (Sandbox Code Playgroud)

基本上,我可以用一分钟过滤,甚至分开第二个预定吗?

谢谢.

python django datetime

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

pymongo 中独特的字段

使用 pymongo 避免现场碰撞的最简单方法是什么?我的 Location 类有一个非常简单的结构(名称、slug、描述和地理位置),我想确保不允许有重复的名称。我正在使用 Flask 和 pymongo?

我正在尝试这个:

from flask import Flask

from flask.ext.pymongo import PyMongo


app = Flask(__name__)

mongo = PyMongo(app)

mongo.db.court.ensureIndex( { "name": 1, "slug": 1 } )
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误:RuntimeError:在应用程序上下文之外工作。

pymongo flask

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

django social auth使用facebook数据

我设法安装了django-social-auth,但我错过了我可以实际使用从facebook获得的数据以创建用户名并可能使用个人资料图片或关于字段的那一刻......

我知道在django-social-auth的设置中我可以设置SOCIAL_AUTH_DEFAULT_USERNAME ='new_social_auth_user'和FACEBOOK_EXTENDED_PERMISSIONS = [...]但是我不会在我的代码中取消我可以插入这些数据的地方,所以不要随意用户名.

authentication django social facebook

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

Flask SQLAlchemy关系

我在Flask和SQLAlchemy中有一个非常简单的模型,公司在玩火柴.匹配由主机和来宾定义.我不知道如何将主机和访客公司带到模板,我正在获取他们的ID.

代码是这样的:

class Company(db.Model):

    __tablename__ = 'companies'
    id = db.Column(db.Integer, primary_key = True)
    name = db.Column(db.String(64), unique = True)
    address = db.Column(db.String(120), unique = False)
    website = db.Column(db.String(100), unique = False)
    ...

class Match(db.Model):

    __tablename__ = 'matches'
    id = db.Column(db.Integer, primary_key = True)

    local_id =db.Column(db.Integer, db.ForeignKey('companies.id'))    
    guest_id = db.Column(db.Integer, db.ForeignKey('companies.id'))

    match_time = db.Column(db.DateTime())   # not important
Run Code Online (Sandbox Code Playgroud)

我希望能够在模板中执行以下操作:

{{ match.host.name }} - {{ match.guest.name }}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

python sqlalchemy flask

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

Django json策略?

我正在使用wunderground的json api来查询我的网站上的天气状况.api给了我一个很好的json对象以及所有必要的数据,但我每天只能进行一些调用.存储此数据的首选方法是什么?

我正在考虑将json转储到一个文件中,并检查它的时间戳:如果它超过60分钟,则获取新的并覆盖,如果不是,则从磁盘读取文件.我不会创建一个数据库表来存储我基本上不需要的天气数据.是否有一些聪明的Django缓存此过程的方法或我应该手动执行?

django json caching

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

Flask-SQLAlchemy 多对多

来自 Django,我很难弄清楚多对多关系是如何工作的。

以下models.py 不起作用,我收到错误消息:InvalidRequestError:一个或多个映射器无法初始化 - 无法继续初始化其他映射器。原始异常是:在关系“Sector.companies”上创建反向引用“扇区”时出错:映射器“Mapper|Company|companys”上存在该名称的属性

代码如下:

`    
company_contacts = db.Table('company_contacts',
                       db.Column('company_id', db.Integer, db.ForeignKey('companies.id')),
                       db.Column('contact_id', db.Integer, db.ForeignKey('contacts.id'))
                       )


company_sectors = db.Table('company_sectors',
                   db.Column('company_id', db.Integer, db.ForeignKey('companies.id')),
                   db.Column('sector_id', db.Integer, db.ForeignKey('sectors.id'))
                   )

company_worklists = db.Table('company_worklists',
                   db.Column('company_id', db.Integer, db.ForeignKey('companies.id')),
                   db.Column('worklist_id', db.Integer, db.ForeignKey('worklists.id'))
                   )


class Sector(db.Model):

    __tablename__ = 'sectors'
    id = db.Column(db.Integer, primary_key = True)
    name_srb= db.Column(db.String(64), unique = True)
    name_ita= db.Column(db.String(64), unique = True)

    companies = db.relationship('Company',
                           secondary = company_sectors,
                           backref = db.backref('sectors', lazy = 'dynamic'),
                           lazy = 'dynamic')



class Contact(db.Model):

    __tablename__ = 'contacts' …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy flask-sqlalchemy

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