init commit
This commit is contained in:
44
sections/model.py
Normal file
44
sections/model.py
Normal file
@@ -0,0 +1,44 @@
|
||||
from sqlalchemy import Column, Integer, String, Boolean, DateTime, Text, ForeignKey
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
from datetime import datetime
|
||||
from src.database import Base,db_session
|
||||
from marshmallow import Schema, fields
|
||||
|
||||
import json
|
||||
import flask
|
||||
|
||||
#from src.articles import Article
|
||||
|
||||
class SectionSchema(Schema):
|
||||
id=fields.Integer()
|
||||
foreign_name=fields.String()
|
||||
name=fields.String()
|
||||
|
||||
class Section(Base):
|
||||
__tablename__ = 'sections'
|
||||
id = Column(Integer, primary_key=True)
|
||||
url = Column(String(250))
|
||||
crawlurl = Column(Integer)
|
||||
foreign_name = Column(String(250),unique=True)
|
||||
name=Column(String(250))
|
||||
group = Column(String(250))
|
||||
articles=relationship("Article", back_populates="section")
|
||||
|
||||
def __json__(self):
|
||||
return SectionSchema().dump(self)[0]
|
||||
def __init__(self, url=None,fname=None):
|
||||
self.url=url
|
||||
self.foreign_name=fname
|
||||
|
||||
@classmethod
|
||||
def find_or_create(cls, fname):
|
||||
s=Section.query.filter(Section.foreign_name==fname).first()
|
||||
if s is None:
|
||||
s=Section(fname)
|
||||
db_session.add(s)
|
||||
db_session.commit()
|
||||
s.foreign_name=fname
|
||||
db_session.add(s)
|
||||
db_session.commit()
|
||||
return s
|
||||
Reference in New Issue
Block a user