class Character(db.EmbeddedDocument): index = db.IntField() species_category = db.ListField(db.StringField(max_length=200)) species_text = db.EmbeddedDocumentField('PotentiallySubjectiveResponse') primary_character = db.BooleanField() deprecated_character = db.BooleanField() reason = db.EmbeddedDocumentField('PotentiallySubjectiveResponse')
class Overview(db.EmbeddedDocument): furry_status = db.EmbeddedDocumentField('PotentiallySubjectiveResponse') birth_month = db.IntField() birth_year = db.IntField() gender_alignment = db.EmbeddedDocumentField( 'PotentiallySubjectiveResponse') gender_identity = db.EmbeddedDocumentField('PotentiallySubjectiveResponse') gender_identity_coords = db.EmbeddedDocumentField( 'GenderIdentityCoordinates') gender_expression_coords = db.EmbeddedDocumentField( 'GenderIdentityCoordinates') sexual_orientation = db.EmbeddedDocumentField( 'PotentiallySubjectiveResponse') country = db.StringField(max_length=2, default='xx') state = db.StringField(max_length=2, default='xx') location_size = db.StringField(max_length=20) race = db.ListField( db.EmbeddedDocumentField('PotentiallySubjectiveResponse')) spirituality = db.EmbeddedDocumentField('PotentiallySubjectiveResponse') political_views = db.ListField(db.EmbeddedDocumentField('NumberPerOption')) occupation = db.ListField( db.EmbeddedDocumentField('PotentiallySubjectiveResponse')) education = db.EmbeddedDocumentField('PotentiallySubjectiveResponse') relationship = db.EmbeddedDocumentField('PotentiallySubjectiveResponse') partner_is_furry = db.BooleanField() long_distance_relationship = db.BooleanField() open_relationship_romantic = db.BooleanField() open_relationship_sexual = db.BooleanField() how_furry = db.IntField() how_long_known = db.FloatField() how_long_member = db.FloatField() who_knows = db.StringField(max_length=30) non_furries_general_response = db.StringField(max_length=30) non_furries_personal_response = db.StringField(max_length=30) non_furries_perception_accuracy = db.StringField(max_length=30) how_human = db.EmbeddedDocumentField('PotentiallySubjectiveResponse') gender_in_furry = db.StringField(max_length=30) gender_in_furry_coords = db.EmbeddedDocumentField( 'GenderIdentityCoordinates') furry_activities = db.ListField( db.EmbeddedDocumentField('NumberPerOption')) furry_activities_opinion = db.ListField( db.EmbeddedDocumentField('NumberPerOption')) non_furry_activities = db.ListField( db.EmbeddedDocumentField('NumberPerOption')) self_described = db.ListField(db.StringField(max_length=30)) furry_importance = db.ListField( db.EmbeddedDocumentField('NumberPerOption')) conventions = db.ListField(db.StringField(max_length=30)) conventions_other = db.StringField(max_length=1000) furry_websites = db.ListField(db.EmbeddedDocumentField('StringPerOption')) characters = db.ListField(db.EmbeddedDocumentField('Character'))
class ResponseMetadata(db.EmbeddedDocument): client_ip = db.StringField(max_length=16, required=True) client_ua = db.StringField(required=True) touchpoints = db.ListField(db.EmbeddedDocumentField('Touchpoint'))
class Sexuality(db.EmbeddedDocument): sex_importance = db.ListField(db.EmbeddedDocumentField('NumberPerOption')) dom_or_sub = db.ListField(db.EmbeddedDocumentField('NumberPerOption')) interests = db.ListField(db.EmbeddedDocumentField('ListPerOption')) other_interests = db.EmbeddedDocumentField('PotentiallySubjectiveResponse')
class PsychographicBattery(db.EmbeddedDocument): battery = db.ListField(db.EmbeddedDocumentField('NumberPerOption'))
class ListPerOption(db.EmbeddedDocument): option = db.StringField(max_length=50) value = db.ListField(db.StringField(max_length=30))