| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- from datetime import datetime
- from app import db
- from werkzeug.security import generate_password_hash, check_password_hash
- class User(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- username = db.Column(db.String(64), unique=True, nullable=False)
- password_hash = db.Column(db.String(256))
- created_at = db.Column(db.DateTime, default=datetime.utcnow)
- def set_password(self, password):
- self.password_hash = generate_password_hash(password)
- def check_password(self, password):
- return check_password_hash(self.password_hash, password)
- class Carousel(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- image_url = db.Column(db.String(256), nullable=False)
- link = db.Column(db.String(256))
- location = db.Column(db.String(20), nullable=False) # 'home', 'education', 'service'
- sort_order = db.Column(db.Integer, default=0)
- created_at = db.Column(db.DateTime, default=datetime.utcnow)
- class StrategicCooperation(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- name = db.Column(db.String(128), nullable=False)
- description = db.Column(db.Text)
- image_url = db.Column(db.String(256))
- link = db.Column(db.String(256))
- created_at = db.Column(db.DateTime, default=datetime.utcnow)
- class Partner(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- name = db.Column(db.String(128), nullable=False)
- image_url = db.Column(db.String(256))
- link = db.Column(db.String(256))
- created_at = db.Column(db.DateTime, default=datetime.utcnow)
- class CaseCategory(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- name = db.Column(db.String(64), nullable=False)
- section = db.Column(db.String(20), nullable=False) # 'education', 'service'
- created_at = db.Column(db.DateTime, default=datetime.utcnow)
- cases = db.relationship('CooperationCase', backref='category', lazy='dynamic')
- class CooperationCase(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- title = db.Column(db.String(128), nullable=False)
- image_url = db.Column(db.String(256))
- description = db.Column(db.Text)
- section = db.Column(db.String(20), nullable=False) # 'education', 'service'
- category_id = db.Column(db.Integer, db.ForeignKey('case_category.id'))
- created_at = db.Column(db.DateTime, default=datetime.utcnow)
- class News(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- title = db.Column(db.String(128), nullable=False)
- content = db.Column(db.Text) # Rich text
- image_url = db.Column(db.String(256))
- author = db.Column(db.String(64))
- publish_time = db.Column(db.DateTime, default=datetime.utcnow)
- created_at = db.Column(db.DateTime, default=datetime.utcnow)
- class DevelopmentHistory(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- year = db.Column(db.String(10), nullable=False)
- title = db.Column(db.String(128), nullable=False)
- description = db.Column(db.Text)
- created_at = db.Column(db.DateTime, default=datetime.utcnow)
- class Honor(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- title = db.Column(db.String(128), nullable=False)
- image_url = db.Column(db.String(256))
- created_at = db.Column(db.DateTime, default=datetime.utcnow)
- class CompanyInfo(db.Model):
- id = db.Column(db.Integer, primary_key=True)
- intro_content = db.Column(db.Text)
- intro_image_url = db.Column(db.String(256))
- vision = db.Column(db.String(256))
- mission = db.Column(db.String(256))
- values = db.Column(db.String(256))
- phone = db.Column(db.String(64))
- email = db.Column(db.String(128))
- qrcode_url = db.Column(db.String(256))
- updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
|