Working on orders and products with for_type and for_id. To help link cont_edu and other future product types.
This commit is contained in:
@@ -29,6 +29,16 @@ class Order_Line_Base(BaseModel):
|
|||||||
product_id: Optional[int]
|
product_id: Optional[int]
|
||||||
product_type_id: Optional[int]
|
product_type_id: Optional[int]
|
||||||
product_type: Optional[str]
|
product_type: Optional[str]
|
||||||
|
|
||||||
|
|
||||||
|
# NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
|
||||||
|
# NOTE need to check @validator NOTE NOTE NOTE NOTE
|
||||||
|
for_type: Optional[str] # Copied from the current value in product.for_type
|
||||||
|
for_id_random: Optional[str] # Copied from the current value in product.for_id_random
|
||||||
|
for_id: Optional[int] # Copied from the current value in product.for_id
|
||||||
|
# NOTE!!! Need ot add similar to order_cart_line???
|
||||||
|
# NOTE!!! Need to add to the actual order_line (and order_cart_line???) tables!
|
||||||
|
|
||||||
name: Optional[str]
|
name: Optional[str]
|
||||||
description: Optional[str]
|
description: Optional[str]
|
||||||
quantity: int = Field(0, ge=0, lt=150)
|
quantity: int = Field(0, ge=0, lt=150)
|
||||||
@@ -78,6 +88,15 @@ class Order_Line_Base(BaseModel):
|
|||||||
return redis_lookup_id_random(record_id_random=values['product_id_random'], table_name='product')
|
return redis_lookup_id_random(record_id_random=values['product_id_random'], table_name='product')
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
@validator('for_id', always=True)
|
||||||
|
def for_id_lookup(cls, v, values, **kwargs):
|
||||||
|
log.setLevel(logging.WARNING)
|
||||||
|
log.debug(locals())
|
||||||
|
|
||||||
|
if values['for_id_random'] and values['for_type']:
|
||||||
|
return redis_lookup_id_random(record_id_random=values['for_id_random'], table_name=values['for_type'])
|
||||||
|
return None
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
underscore_attrs_are_private = True
|
underscore_attrs_are_private = True
|
||||||
fields = base_fields
|
fields = base_fields
|
||||||
|
|||||||
@@ -25,6 +25,12 @@ class Product_Base(BaseModel):
|
|||||||
account_id_random: Optional[str]
|
account_id_random: Optional[str]
|
||||||
account_id: Optional[int]
|
account_id: Optional[int]
|
||||||
|
|
||||||
|
# NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
|
||||||
|
# NOTE need to check @validator NOTE NOTE NOTE NOTE
|
||||||
|
for_type: Optional[str]
|
||||||
|
for_id_random: Optional[str]
|
||||||
|
for_id: Optional[int]
|
||||||
|
|
||||||
type_id: Optional[int]
|
type_id: Optional[int]
|
||||||
type_name: Optional[str] = Field(
|
type_name: Optional[str] = Field(
|
||||||
# alias = 'type'
|
# alias = 'type'
|
||||||
@@ -86,6 +92,15 @@ class Product_Base(BaseModel):
|
|||||||
return redis_lookup_id_random(record_id_random=values['id_random'], table_name='product')
|
return redis_lookup_id_random(record_id_random=values['id_random'], table_name='product')
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
@validator('for_id', always=True)
|
||||||
|
def for_id_lookup(cls, v, values, **kwargs):
|
||||||
|
log.setLevel(logging.WARNING)
|
||||||
|
log.debug(locals())
|
||||||
|
|
||||||
|
if values['for_id_random'] and values['for_type']:
|
||||||
|
return redis_lookup_id_random(record_id_random=values['for_id_random'], table_name=values['for_type'])
|
||||||
|
return None
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
underscore_attrs_are_private = True
|
underscore_attrs_are_private = True
|
||||||
fields = base_fields
|
fields = base_fields
|
||||||
|
|||||||
Reference in New Issue
Block a user