MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Korzystanie z metod klasy MongoEngine Document do niestandardowej walidacji i zaczepów do wstępnego zapisywania

Weryfikację niestandardową powinien teraz przeprowadzić implementacja clean() metoda na modelu .

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()

Edytuj: To powiedziawszy, musisz być ostrożny, używając clean() jak jest wywoływana z validate() przed walidacją modelu na podstawie reguł określonych w definicji modelu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sterownik Mongo DB Java 3.x — grupowanie według zapytania

  2. Usuwanie elementu _id z wyników Pymongo

  3. Operatory agregacji MongoDB dla zwracających części dat

  4. Jak usunąć obiekt biorąc pod uwagę referencje w Mongoose Node.js?

  5. Znajdź ostatni rekord każdego dnia