class User(UserMixin, db.Document): created_at = db.DateTimeField(default=datetime.datetime.now, required=True) email = db.StringField(max_length=255,required = True) username = db.StringField(max_length=255, required=False) password = db.StringField(max_length=255, required=True) def __unicode__(self): return self.id def set_password(self, password): self.password = generate_password_hash(password) def is_authenticated(self): return True def is_active(self): return True def is_anonymous(self): return False def check_password(self, password): return check_password_hash(self.password_hash, password) @staticmethod def validate_login(password_hash, password): return check_password_hash(password_hash, password) meta = { 'allow_inheritance': True, 'indexes': ['-created_at', 'username'], 'ordering': ['-created_at'] }
class Rezept(db.Document): created_at = db.DateTimeField(default=datetime.datetime.now, required=True) user = db.ReferenceField(User) rezept_titel = db.StringField(max_length=255, required=True) rezept_zubereitung = db.StringField( required=True) bild = db.StringField(max_length=255) zutaten = db.DictField()
class syslog(db.Document): query_class = RegexQuery host = db.StringField() ident = db.StringField() pid = db.StringField() message = db.StringField() time = db.DateTimeField()
class Workout(db.Document): created_at = db.DateTimeField(default=datetime.datetime.now, required=True) user = db.ReferenceField(User) workout_id = db.StringField(max_length=255, required=True) workout_nr = db.IntField(max_length=20, required=True) week_nr = db.IntField(max_length=200, required=True) stufe = db.IntField(required=False)
class Airport(db.Document): city = db.StringField() name = db.StringField() country = db.StringField() iata_faa = db.StringField(default=None) tz = db.StringField(default=None) icao = db.StringField(default=None) dst = db.StringField(default=None) loc = db.PointField(default=None) @staticmethod def get_closest_airports(lonlat, limit=10): """ Using a raw query it returns the "limit" closest airports. :param latlon list: :return list of airports: """ return Airport.objects( __raw__={ "loc": { "$near": { "$geometry": { "type": "Point", "coordinates": lonlat } } } }).limit(limit) def __dict__(self): return { "city": self.city, "name": self.name, "country": self.country, "lat": self.loc["coordinates"].pop(), "lon": self.loc["coordinates"].pop() }
class AddressBook(db.Document): created_at = db.DateTimeField(default=datetime.datetime.now, required=True) user = db.ReferenceField(User) deliver_name = db.StringField(max_length=255, required=True) address = db.StringField(max_length=255, required=True) pincode = db.IntField(required=True)