Sequelize:按枚举情况排序

时间:2015-07-14 04:53:28

标签: sequelize.js

我有一个模型(Article),其中包含type类型的字段(名称为ENUM('source', 'translated')),并希望返回按类型字段排序的1篇文章。源文章应在翻译文章之前返回。类似的东西:

Article.findOne(order: [
    {
        type: [
            'source',
            'translated'
        ]
    }
]);

不幸的是,似乎没有用于按枚举排序的内置解决方案。相反,我可能需要排序by case,但我找不到任何关于如何使用Sequelize进行此操作的文档。

这里的常规方法是什么?

1 个答案:

答案 0 :(得分:3)

按照CASE排序很难在续集中进行,但按字段排序(链接帖子中的第二个答案)应该是可能的:

def readlines(sock, recv_buffer=4096, delim='\n'):
    buffer = ''
    while True:
        data = sock.recv(recv_buffer)
        buffer += str(data.decode('latin-1'))

    while buffer.find(delim) != -1:
        line, buffer = buffer.split('\n', 1)
        yield line

def main():
    syms = ['MSFT', 'AAPL', 'GS', 'F']
    for sym in syms:
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.connect((host, port))

        data = ''
        message = sym + #relevant api specific commands
        sock.sendall(message.encode())

        for line in readlines(sock):
            if "!ENDMSG!" in line:
                break
            data += line + '\n'

        sock.close()

        data = io.StringIO(data)
        df = pd.read_csv(data)
        df.to_sql(...)

据我所知,它仅受mysql支持