Peewee Python - получить идентификатор только после запроса к базе данных - PullRequest
0 голосов
/ 06 апреля 2020

, поэтому я пытаюсь использовать peewee для обработки всего моего db-материала.

from peewee import * 
from datetime import datetime

db = MySQLDatabase('peeweetest', user='peeweetest', password='peeweetest', host='127.0.0.1')
db.connect()

class BaseModel(Model):
    class Meta:
        database = db

class User(BaseModel):
    id = PrimaryKeyField(null=False)
    creationTime = DateTimeField(default=datetime.now())
    name = CharField(max_length=100)
    password = CharField(max_length=100)

    def store(self, name, password):
        self.name = name
        self.password = password
        self.save()

u = User.get(User.id == 2)
print(u)

Моя проблема в последних 2 строках. Я пытаюсь получить пользователя с идентификатором 2 в базе данных (пользователь существует!), Но когда я распечатываю результат, переменная пользователя не содержит объект пользователя, она содержит только идентификатор 2.

Что я делаю не так?

Большое спасибо за вашу помощь! :)

1 Ответ

0 голосов
/ 06 апреля 2020

Поскольку как peewee.Model определяет __str__ метод , довольно просто. Это, вероятно, задокументировано FWIW.

IOW: у вас есть экземпляр вашей модели, просто он только печатает свой идентификатор. И вы могли бы узнать, проверяя свою переменную в отладчике или Python оболочке.

...