Python- peewee 接受 2 个位置参数,但给出了 3 个
Python- peewee takes 2 positional arguments but 3 were given
我刚开始学习 Python 并且正在学习 python- 使用以下代码连接到数据库 sqlite:
import os
import pewee
baza = pewee.SqliteDatabase('test.db')
class BazaModel():
database = baza
class Klasa(BazaModel):
nazwa = pewee.CharField(null=False)
profil = pewee.CharField(default='')
class Uczen(BazaModel):
imie = pewee.CharField(null=False)
nazwisko = pewee.CharField(null=False)
klasa = pewee.ForeignKeyField(Klasa, related_name='uczniowie')
baza.connect()
baza.create_tables([Klasa, Uczen], True)
我有问题错误:
baza.create_tables([Klasa, Uczen], True) TypeError: create_tables()
takes 2 positional arguments but 3 were given
课程是从 2016 年开始的,所以我想有一个更新的 peewee 版本,但我不知道如何修复它...
3 个参数是您的数据库、表列表和布尔值:some_obj.some_fun(obj1, obj2)
被 python 翻译为 some_fun(some_obj, obj1, obj2)
。这说明它告诉你你有 3 个位置参数,而不是 2 个。
您可以在 peewee doc 中看到 create_tables 只需要一个额外的位置参数(两个与数据库有关)。
您使用的第三个参数现在是 keyword 参数(不是 positional 参数),您必须指定它是什么,即您应该写:
baza.create_tables([Klasa, Uczen], safe=True)
我刚开始学习 Python 并且正在学习 python- 使用以下代码连接到数据库 sqlite:
import os
import pewee
baza = pewee.SqliteDatabase('test.db')
class BazaModel():
database = baza
class Klasa(BazaModel):
nazwa = pewee.CharField(null=False)
profil = pewee.CharField(default='')
class Uczen(BazaModel):
imie = pewee.CharField(null=False)
nazwisko = pewee.CharField(null=False)
klasa = pewee.ForeignKeyField(Klasa, related_name='uczniowie')
baza.connect()
baza.create_tables([Klasa, Uczen], True)
我有问题错误:
baza.create_tables([Klasa, Uczen], True) TypeError: create_tables() takes 2 positional arguments but 3 were given
课程是从 2016 年开始的,所以我想有一个更新的 peewee 版本,但我不知道如何修复它...
3 个参数是您的数据库、表列表和布尔值:some_obj.some_fun(obj1, obj2)
被 python 翻译为 some_fun(some_obj, obj1, obj2)
。这说明它告诉你你有 3 个位置参数,而不是 2 个。
您可以在 peewee doc 中看到 create_tables 只需要一个额外的位置参数(两个与数据库有关)。 您使用的第三个参数现在是 keyword 参数(不是 positional 参数),您必须指定它是什么,即您应该写:
baza.create_tables([Klasa, Uczen], safe=True)