Flask-mongoengine 用法小記

admin 2022年5月17日11:30:01评论20 views字数 1326阅读4分25秒阅读模式

模型設置

from mongoengine.errors import ValidationError
from mongoengine.queryset import (DoesNotExist, MultipleObjectsReturned)
import flask_mongoengine

db = app.db

# 自定義定義BaseQuerySet添加_get方法
class BaseQuerySet(flask_mongoengine.BaseQuerySet):
    def _get(self, *args, **kwargs):
        print args, kwargs
        try:
            return self.get(*args, **kwargs)
        except (MultipleObjectsReturned, DoesNotExist, ValidationError):
            return False

# 重寫 Document 父類
class Document(db.Document):
    meta = {'abstract': True,
            'queryset_class': BaseQuerySet}

# Users模型
class Users(Document):
    username = db.StringField(unique=True)
    password = db.StringField()
    email = db.StringField(unique=True)
    info = db.StringField()
    website = db.StringField()
    code = db.StringField(unique=True)
    role = db.IntField(default=0)
    verified = db.BooleanField(default=False)
    ban = db.BooleanField(default=False)
    date = db.DateTimeField(default=datetime.datetime.now())

增刪改查

添加數據

user = Users(username=username,password=password [,**data])
user.email = email
# ...
user.save()

or

Users(username=username,password=password [,**data]).save()

修改數據

user = Users.objects._get(username=username)
if user:
    user.password = 'new password'
    user.save()
    # or
    user.update() # 這個用法我不懂哇

刪除數據

user = Users.objects._get(username=username,password=password [, **data])
if user:
    user.delete()

查詢數據

列出所有數據

user = Users.objects.all()

條件查詢

user = Users.objects._get(username=username [,**data])
if user:
print user.password

FROM : virzz.com | Author:Virink

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月17日11:30:01
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Flask-mongoengine 用法小記http://cn-sec.com/archives/1012993.html

发表评论

匿名网友 填写信息