限制peewee检索的行数 [英] limit number of rows peewee retrieve

查看:96
本文介绍了限制peewee检索的行数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下python源文件可从MySQL数据库检索行.问题在于订户表中要检索的行太多.如何限制一小部分要检索和处理的行等等?

I have the following python source file to retrieve rows from MySQL database. The problem is there are too many rows to retrieve in subscriber table. How can I do limit to small chunk of rows to retrieve and process and so on?

class subinfo(peewee.Model):
    sub_id = peewee.IntegerField()
    active = peewee.BooleanField()
    sub_type = peewee.IntegerField()
    sub_cat = peewee.TextField()

    class Meta:
        database = locdb

class subscriber(peewee.Model):
    sub_id = peewee.IntegerField(unique=True, primary_key=True)
    sub_start = peewee.DateTimeField()
    sub_end = peewee.DateTimeField()
    ref_id = peewee.BigIntegerField()
    class Meta:
        database = locdb

for row in subscriber.select():
    if(row.sub_start >= peewee.datetime.datetime.now()):
        sub1, created = subinfo.get_or_create(sub_id=row.sub_id, active=True)
        if(created == False & sub1.active == False):
            q = subinfo.update(active=True).where(sub_id=row.sub_id)
            q.execute()
    else:
        subinfo.get_or_create(sub_id=row.sub_id, active=False)

推荐答案

for row in subscriber.select()

对前100行执行此操作:

Do this for first 100 rows:

 for row in subscriber.select().limit(100)

接下来的100行:

 for row in subscriber.select().limit(100).offset(100)

等等.

这篇关于限制peewee检索的行数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆