Колба sqlalchemy динамический префикс на основе нескольких столбцов - PullRequest
0 голосов
/ 28 ноября 2018

Мне нужно сделать уникальный код на основе префикса, который может быть добавлен сервером.

Например, допустим, у меня есть эта таблица:

class product(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    idNo = db.Column(db.Integer,unique=True)
    productName = db.Column(db.String(255),nullable=False)
    manufacture = db.Column(db.String(255),nullable=False)
    uniqueCode = db.Column([LETS_CALL_THIS_X],nullable=False)

и еще одна таблица для продавца:

class seller(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    idNo = db.Column(db.Integer,unique=True)
    Name = db.Column(db.String(255),nullable=False)
    branch = db.Column(db.String(255),nullable=False)

Так что мне нужно сделать, эточтобы добавить уникальный код (X) к продукту, и этот уникальный код должен иметь префикс (основанный на комбинации частей из нескольких таблиц и столбцов) + 00000, который должен быть увеличен на 1.

например, скажем,

product class:
    id = 1
    idNo = 123456
    productName = Hair Brush
    manufacture = USA
    uniqueCode = X

seller class: 
    id = 1
    idNo = 98886123
    Name = Jackson B George
    Branch = NY 

Допустим, если бы я хотел, чтобы X был равен Branch + (first 2 letters in Name) + (product ID ) + 00000+1

, то в этом случае:

`X = NYJA12345600001`

IsМожно ли сделать это с PostgreSQL только без flask-sqlalchemy?Если нет, как я могу записать префикс в flask-sqlalchemy и загрузить его в PostgreSQL, добавив 00001 и увеличивая на 1?

, если возможны оба варианта, какое решение лучше для точки зрения не перегружать серверресурсы?

...