小编jjm*_*tes的帖子

Django Managers - 检索具有非空相关对象集的对象

我有两个类,Portfolio和PortfolioImage.

class PortfolioImage(models.Model):
    portfolio     = models.ForeignKey('Portfolio', related_name='images')
    ...

class Portfolio(models.Model):
    def num_images(self):
        return self.images.count()
Run Code Online (Sandbox Code Playgroud)

我想为Portfolio编写一个"非空投资组合"经理,这样我就能做到:

queryset = Portfolio.nonempty.all()
Run Code Online (Sandbox Code Playgroud)

我尝试过这样的事情,但我认为这甚至不是很接近:

class NonEmptyManager(models.Manager):
    def get_query_set(self):
        return super(NonEmptyManager, self).get_query_set().filter(num_images > 0)
Run Code Online (Sandbox Code Playgroud)

我真的不知道从哪里开始,我发现这方面的文档有点缺乏.

有任何想法吗?谢谢,

django orm

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

Python 日志格式:如何仅打印记录器名称的最后一部分?

我正在使用具有以下格式字符串的 python 日志记录:

'format': '%(asctime)s %(levelname)s %(name)s - %(message)s'
Run Code Online (Sandbox Code Playgroud)

%(name)s部分打印记录器名称:

2017-10-26 13:17:58,019 信息 device_gps.comm。协议- GPSProtocol(port=COM13) - 启动 GPS 串行通信(端口:COM13)
2017-10-26 13:17:58,022 信息 scs_control。上下文- 启动组件:DeviceGPS
2017-10-26 13:17:58,033 信息 scs_elevation。海拔- 初始化 ElevationModel 引擎实例。

与其他日志记录工具(如log4j)一样,为了简洁起见,我只想打印记录器名称的最后一部分(在上面的示例中以粗体显示)。

这个另一个答案建议更改记录器名称,但这样做会破坏父子记录器关系,这对于为一组记录器配置日志记录非常有用。

我怎样才能让 python 日志打印记录器名称的最后一部分?

python logging python-2.7

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

Python阵列与列表

使用阵列模块而不是列表的主要优点是什么?

python arrays list

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

Python 中的模糊智能数字解析

我希望解析十进制数字而不管它们的格式如何,这是未知的。原文的语言未知,可能会有所不同。此外,源字符串之前或之后可以包含一些额外的文本,例如货币或单位。

我正在使用以下内容:

# NOTE: Do not use, this algorithm is buggy. See below.
def extractnumber(value):

    if (isinstance(value, int)): return value
    if (isinstance(value, float)): return value

    result = re.sub(r'&#\d+', '', value)
    result = re.sub(r'[^0-9\,\.]', '', result)

    if (len(result) == 0): return None

    numPoints = result.count('.')
    numCommas = result.count(',')

    result = result.replace(",", ".")

    if ((numPoints > 0 and numCommas > 0) or (numPoints == 1) or (numCommas == 1)):
        decimalPart = result.split(".")[-1]
        integerPart = "".join ( result.split(".")[0:-1] )
    else:
        integerPart …
Run Code Online (Sandbox Code Playgroud)

python parsing fuzzy

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

标签 统计

python ×3

arrays ×1

django ×1

fuzzy ×1

list ×1

logging ×1

orm ×1

parsing ×1

python-2.7 ×1