MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Sử dụng các phương thức của lớp Tài liệu MongoEngine để xác thực tùy chỉnh và lưu trước các móc

Xác thực tùy chỉnh hiện sẽ được thực hiện bởi triển khai clean() phương pháp trên một mô hình .

class Essay(Document):
    status = StringField(choices=('Published', 'Draft'), required=True)
    pub_date = DateTimeField()

    def clean(self):
        """
        Ensures that only published essays have a `pub_date` and
        automatically sets the pub_date if published and not set.
        """
        if self.status == 'Draft' and self.pub_date is not None:
            msg = 'Draft entries should not have a publication date.'
            raise ValidationError(msg)

        # Set the pub_date for published items if not set.
        if self.status == 'Published' and self.pub_date is None:
            self.pub_date = datetime.now()

Chỉnh sửa: Điều đó nói rằng, bạn phải cẩn thận khi sử dụng clean() vì nó được gọi từ validate() trước khi xác thực mô hình dựa trên các quy tắc được đặt trong định nghĩa mô hình của bạn.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách trả về nhiều giá trị bằng Go Mongo Distinction

  2. Cách sử dụng fetchNewObject với update.one ReactiveMongo?

  3. làm thế nào để $ dự án ObjectId thành giá trị chuỗi trong mongodb tổng hợp?

  4. Đếm các mục từ một tài liệu khác trong tổng hợp mongodb

  5. MongoDB Aggregations Sử dụng Java