Peewee:如何更新特定领域?

Rez*_*our 4 database orm python-2.7 peewee

我正在使用Peewee数据库.我有一个User3个字段的表:username,passwordlast_login.当用户登录到我想要更新的系统时last_login.我使用以下代码行:

from peewee import *
import datetime

class User(Model):
    username = CharField(unique=True)
    password = CharField()
    last_login = DateTimeField(default=datetime.datetime.now())

    class Meta:
        database = MySQLDatabase('mydb', user='root', charset='123456')


u=User(username="user1", last_login=datetime.datetime.now())
u.save()
Run Code Online (Sandbox Code Playgroud)

虽然我没有指定任何值password,但在u.save()调用后会被覆盖.我该如何强迫小便只更新last_login字段?

SuB*_*SuB 5

替换u.save()为:

u.save(only=[User.last_login])
Run Code Online (Sandbox Code Playgroud)

正如API的文档所说:

only(list) - 要保留的字段列表 - 提供时,仅保留给定字段.

因此,您应指定要更改的字段列表.