More revisions
This commit is contained in:
parent
92122b465e
commit
0cf304696d
@ -105,27 +105,9 @@ class Node(Model):
|
|||||||
return node_dict
|
return node_dict
|
||||||
|
|
||||||
|
|
||||||
class Revision(Model):
|
|
||||||
"""
|
|
||||||
A version of a node
|
|
||||||
"""
|
|
||||||
__tablename__ = 'revisions'
|
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True)
|
|
||||||
version = Column(String(255), nullable=False)
|
|
||||||
title = Column(String(255), nullable=False)
|
|
||||||
body = Column(Text)
|
|
||||||
format = Column(Text, nullable=False)
|
|
||||||
slug = Column(String(255), nullable=False)
|
|
||||||
created = Column(DateTime, nullable=False, index=True, default=datetime.utcnow)
|
|
||||||
node_id = Column(Integer, ForeignKey('nodes.id'), nullable=False)
|
|
||||||
|
|
||||||
node = relationship('Node', backref='revisions')
|
|
||||||
|
|
||||||
|
|
||||||
class Field(Model):
|
class Field(Model):
|
||||||
"""
|
"""
|
||||||
A field is a model for extra field types on nodes
|
A field is a model for field types on nodes
|
||||||
"""
|
"""
|
||||||
__tablename__ = 'fields'
|
__tablename__ = 'fields'
|
||||||
|
|
||||||
@ -138,6 +120,41 @@ class Field(Model):
|
|||||||
modified = Column(DateTime, nullable=False, default=datetime.utcnow)
|
modified = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||||
|
|
||||||
|
|
||||||
|
class FieldRevision(Model):
|
||||||
|
"""
|
||||||
|
A revision of a field on a node
|
||||||
|
"""
|
||||||
|
__tablename__ = 'field_revisions'
|
||||||
|
|
||||||
|
id = Column(Integer, primary_key=True)
|
||||||
|
version = Column(Integer, nullable=False)
|
||||||
|
title = Column(String(255), nullable=False)
|
||||||
|
body = Column(Text)
|
||||||
|
format = Column(Text, nullable=False)
|
||||||
|
slug = Column(String(255), nullable=False)
|
||||||
|
created = Column(DateTime, nullable=False, index=True, default=datetime.utcnow)
|
||||||
|
node_id = Column(Integer, ForeignKey('nodes.id'), nullable=False)
|
||||||
|
|
||||||
|
|
||||||
|
class NodeField(Model):
|
||||||
|
"""
|
||||||
|
A node field is a field on a particular node
|
||||||
|
"""
|
||||||
|
__tablename__ = 'node_fields'
|
||||||
|
|
||||||
|
id = Column(Integer, primary_key=True)
|
||||||
|
field_id = Column(Integer, ForeignKey('fields.id'))
|
||||||
|
node_id = Column(Integer, ForeignKey('nodes.id'))
|
||||||
|
revision_id = Column(Integer, ForeignKey('field_revisions.id'), nullable=False, index=True)
|
||||||
|
title = Column(String(255), nullable=False)
|
||||||
|
description = Column(Text)
|
||||||
|
created = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||||
|
modified = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||||
|
|
||||||
|
current_revision = relationship('FieldRevision', backref='node_field')
|
||||||
|
field = relationship('Field', backref='node_field')
|
||||||
|
|
||||||
|
|
||||||
class File(Model):
|
class File(Model):
|
||||||
"""
|
"""
|
||||||
A file in the media library.
|
A file in the media library.
|
||||||
|
Reference in New Issue
Block a user