آموزش تعریف پایگاه داده به صورت پویا در Peewee
آموزش تعریف پایگاه داده به صورت پویا در Peewee
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش تعریف پایگاه داده به صورت پویا در Peewee خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش طراحی وب سایت با پایتون
اگر قرار است پایگاه داده شما در زمان اجرا متغیر باشد، از راهنمای DatabaseProxy برای کنترل بهتر نحوه راه اندازی اولیه آن استفاده کنید. شی DatabaseProxy یک متغیر مکان است که به کمک آن می توان پایگاه داده را در زمان اجرا انتخاب کرد.
در مثال زیر یک پایگاه داده مناسب بسته به تنظیمات پیکربندی برنامه انتخاب می شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
from peewee import * db_proxy = DatabaseProxy() # Create a proxy for our db. class MyUser (Model): name=TextField() city=TextField(constraints=[SQL("DEFAULT 'Mumbai'")]) age=IntegerField() class Meta: database=db_proxy db_table='MyUser' # Based on configuration, use a different database. if app.config['TESTING']: db = SqliteDatabase(':memory:') elif app.config['DEBUG']: db = SqliteDatabase('mydatabase.db') else: db = PostgresqlDatabase( 'mydatabase', host='localhost', port=5432, user='postgres', password='postgres' ) # Configure our proxy to use the db we specified in config. db_proxy.initialize(db) db.connect() db.create_tables([MyUser]) |
همچنین می توانید با استفاده از متد ()bind که در کلاس پایگاه داده و کلاس مدل اعلام شده است، مدلها را در طول زمان اجرا به هر شی پایگاه داده مرتبط کنید.
مثال زیر از متد ()bind در کلاس پایگاه داده استفاده می کند.
1 2 3 4 5 6 7 8 9 10 11 |
from peewee import * class MyUser (Model): name=TextField() city=TextField(constraints=[SQL("DEFAULT 'Mumbai'")]) age=IntegerField() db = MySQLDatabase('mydatabase', host='localhost', port=3306, user='root', password='') db.connect() db.bind([MyUser]) db.create_tables([MyUser]) |
همین متد ()bind نیز در کلاس Model تعریف شده است.
1 2 3 4 5 6 7 8 9 10 11 |
from peewee import * class MyUser (Model): name=TextField() city=TextField(constraints=[SQL("DEFAULT 'Mumbai'")]) age=IntegerField() db = MySQLDatabase('mydatabase', host='localhost', port=3306, user='root', password='') db.connect() MyUser.bind(db) db.create_tables([MyUser]) |
لیست جلسات قبل آموزش Peeweee
- آموزش Peeweee
- آموزش مقدماتی Peeweee
- آموزش کلاس پایگاه داده در Peeweee
- آموزش کلاس مدل در Peeweee
- آموزش کلاس Field در Peewee
- آموزش ایجاد یک رکورد جدید در Peewee
- آموزش انتخاب رکورد در Peewee
- آموزش فیلترها در Peewee
- آموزش کلیدهای اولیه و کامپوزیت در Peewee
- آموزش به روزرسانی رکوردهای موجود در Peewee
- آموزش حذف رکوردها در Peewee
- آموزش ایجاد ایندکس در Peewee
- آموزش محدودیت ها در Peewee
- آموزش استفاده از MySQL در Peewee
- آموزش استفاده از PostgreSQL در Peewee
دیدگاه شما