mgt c4
This commit is contained in:
		@@ -1,8 +1,12 @@
 | 
			
		||||
from flask import Flask
 | 
			
		||||
from config import Config
 | 
			
		||||
from flask_sqlalchemy import SQLAlchemy
 | 
			
		||||
from flask_migrate import Migrate
 | 
			
		||||
 | 
			
		||||
app = Flask(__name__)
 | 
			
		||||
app.config.from_object(Config)
 | 
			
		||||
db = SQLAlchemy(app)
 | 
			
		||||
migrate = Migrate(app, db)
 | 
			
		||||
 | 
			
		||||
from app import routes
 | 
			
		||||
from app import routes, models
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										27
									
								
								backend/app/models.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								backend/app/models.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
from datetime import datetime, timezone
 | 
			
		||||
from typing import Optional
 | 
			
		||||
import sqlalchemy as sa
 | 
			
		||||
import sqlalchemy.orm as so
 | 
			
		||||
from app import db
 | 
			
		||||
 | 
			
		||||
class User(db.Model):
 | 
			
		||||
    id: so.Mapped[int] = so.mapped_column(primary_key=True)
 | 
			
		||||
    username: so.Mapped[str] = so.mapped_column(sa.String(64), index=True, unique=True)
 | 
			
		||||
    email: so.Mapped[str] = so.mapped_column(sa.String(120), index=True, unique=True)
 | 
			
		||||
    password_hash: so.Mapped[Optional[str]] = so.mapped_column(sa.String(256))
 | 
			
		||||
    posts: so.WriteOnlyMapped['Post'] = so.relationship(back_populates='author')
 | 
			
		||||
 | 
			
		||||
    def __repr__(self):
 | 
			
		||||
        return '<User {}>'.format(self.username)
 | 
			
		||||
 | 
			
		||||
class Post(db.Model):
 | 
			
		||||
    id: so.Mapped[int] = so.mapped_column(primary_key=True)
 | 
			
		||||
    body: so.Mapped[str] = so.mapped_column(sa.String(140))
 | 
			
		||||
    timestamp: so.Mapped[datetime] = so.mapped_column(index=True, default=lambda: datetime.now(timezone.utc))
 | 
			
		||||
    user_id: so.Mapped[int] = so.mapped_column(sa.ForeignKey(User.id), index=True)
 | 
			
		||||
    author: so.Mapped[User] = so.relationship(back_populates='posts')
 | 
			
		||||
 | 
			
		||||
    def __repr__(self):
 | 
			
		||||
        return '<Post {}>'.format(self.body)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user