New table for paintings
This commit is contained in:
parent
123c9d8aa1
commit
ab51e83e9c
|
@ -5,6 +5,7 @@ from sqlalchemy.types import Integer, String, DateTime
|
||||||
from sqlalchemy.orm import column_property, relationship
|
from sqlalchemy.orm import column_property, relationship
|
||||||
from sqlalchemy.ext.associationproxy import association_proxy
|
from sqlalchemy.ext.associationproxy import association_proxy
|
||||||
from sqlalchemy.sql.expression import cast
|
from sqlalchemy.sql.expression import cast
|
||||||
|
from sqlalchemy.dialects import postgresql
|
||||||
from urllib.parse import quote
|
from urllib.parse import quote
|
||||||
|
|
||||||
Base = declarative_base()
|
Base = declarative_base()
|
||||||
|
@ -35,16 +36,27 @@ class DepictsItemAltLabel(Base):
|
||||||
def __init__(self, alt_label):
|
def __init__(self, alt_label):
|
||||||
self.alt_label = alt_label
|
self.alt_label = alt_label
|
||||||
|
|
||||||
|
class PaintingItem(Base):
|
||||||
|
__tablename__ = 'painting'
|
||||||
|
item_id = Column(Integer, primary_key=True, autoincrement=False)
|
||||||
|
label = Column(String)
|
||||||
|
entity = Column(postgresql.JSON)
|
||||||
|
qid = column_property('Q' + cast(item_id, String))
|
||||||
|
|
||||||
class Edit(Base):
|
class Edit(Base):
|
||||||
__tablename__ = 'edit'
|
__tablename__ = 'edit'
|
||||||
username = Column(String, primary_key=True)
|
username = Column(String, primary_key=True)
|
||||||
painting_id = Column(Integer, primary_key=True)
|
painting_id = Column(Integer, ForeignKey('painting.item_id'), primary_key=True)
|
||||||
depicts_id = Column(Integer, primary_key=True)
|
depicts_id = Column(Integer, ForeignKey('depicts.item_id'), primary_key=True)
|
||||||
timestamp = Column(DateTime, default=now_utc())
|
timestamp = Column(DateTime, default=now_utc())
|
||||||
|
lastrevid = Column(Integer, nullable=True)
|
||||||
|
|
||||||
painting_qid = column_property('Q' + cast(painting_id, String))
|
painting_qid = column_property('Q' + cast(painting_id, String))
|
||||||
depicts_qid = column_property('Q' + cast(depicts_id, String))
|
depicts_qid = column_property('Q' + cast(depicts_id, String))
|
||||||
|
|
||||||
|
painting = relationship('PaintingItem')
|
||||||
|
depicts = relationship('DepictsItem')
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def user_page_url(self):
|
def user_page_url(self):
|
||||||
start = 'https://www.wikidata.org/wiki/User:'
|
start = 'https://www.wikidata.org/wiki/User:'
|
||||||
|
|
Loading…
Reference in a new issue