Manager
Your code needs to be in a file named
manager.py
or folder namedmanager
inside your Application.
Info
The purpose of the manager is to handle updates to the database
File or Folder Layout
Tool
fastberry.manager
Python Code
manager.py
# -*- coding: utf-8 -*-
"""
{ Controller } for the Database(s)
"""
import fastberry as fb
from . import types
class Base:
"""Reusable Manager"""
@classmethod
async def all(cls):
return await cls.objects.all()
@classmethod
async def reset_table(cls):
return await cls.objects.delete(None, all=True)
@fb.manager
class Product(Base):
"""Product Manager"""
model = types.Product
@classmethod
async def create(cls, form):
results = None
if form.is_valid:
results = await cls.objects.create(form.data.__dict__)
return results
__init__.py
# -*- coding: utf-8 -*-
"""
Manager - Init
"""
# Import your <managers> here.
from .product import Product
product.py
# -*- coding: utf-8 -*-
"""
{ Controller } for the Database(s)
"""
import fastberry as fb
from . import types
class Base:
"""Reusable Manager"""
@classmethod
async def all(cls):
return await cls.objects.all()
@classmethod
async def reset_table(cls):
return await cls.objects.delete(None, all=True)
@fb.manager
class Product(Base):
"""Product Manager"""
model = types.Product
@classmethod
async def create(cls, form):
results = None
if form.is_valid:
results = await cls.objects.create(form.data.__dict__)
return results