| 1294 | Base = cls.DeclarativeBasic |
| 1295 | |
| 1296 | class Person(Base): |
| 1297 | __tablename__ = "person" |
| 1298 | |
| 1299 | id = Column(Integer, primary_key=True) |
| 1300 | first_name = Column(String(10)) |
| 1301 | last_name = Column(String(10)) |
| 1302 | |
| 1303 | @hybrid.hybrid_property |
| 1304 | def name(self): |
| 1305 | return self.first_name + " " + self.last_name |
| 1306 | |
| 1307 | @name.setter |
| 1308 | def name(self, value): |
| 1309 | self.first_name, self.last_name = value.split(" ", 1) |
| 1310 | |
| 1311 | @name.expression |
| 1312 | def name(cls): |
| 1313 | return func.concat(cls.first_name, " ", cls.last_name) |
| 1314 | |
| 1315 | @name.update_expression |
| 1316 | def name(cls, value): |
| 1317 | f, l = value.split(" ", 1) |
| 1318 | return [(cls.first_name, f), (cls.last_name, l)] |
| 1319 | |
| 1320 | @hybrid.hybrid_property |
| 1321 | def uname(self): |
| 1322 | return self.name |
| 1323 | |
| 1324 | @hybrid.hybrid_property |
| 1325 | def fname(self): |
| 1326 | return self.first_name |
| 1327 | |
| 1328 | @hybrid.hybrid_property |
| 1329 | def fname2(self): |
| 1330 | return self.fname |
| 1331 | |
| 1332 | @classmethod |
| 1333 | def insert_data(cls, connection): |