odmantic icon indicating copy to clipboard operation
odmantic copied to clipboard

defaut for created_date and updated_date

Open jd-solanki opened this issue 4 years ago • 2 comments

Feature request

I just discovered this I really love it :heart:

Context

I was testing FastAPI and came to odmantic as I am using mongoDB. I have a question regarding creating a model. How can I define a default value for created_date and updated_date? Is there any equivalent to Django'sDateField.auto_now_addandDateField.auto_now`

Solution

Something like Django have I guess if possible.

Alternative solutions

Using default_factory for created_date (I haven't tested it yet btw) and none for modified_date

Additional context

None.

Regards

jd-solanki avatar Feb 20 '21 16:02 jd-solanki

I just stumbled upon this question because I was having the same creation date in every object in my application:

So, if you use default to set the value, then you will always have the same value for every object instance: creation_date: datetime = Field(default=datetime.now(), alias="creation_date", description="Task creation date")

To get the current date/datetime every time, you need to use default_factory with the datetime.now or datetime.date.today method call: creation_date: datetime = Field(default_factory=datetime.now, description="Creation date")

Regards.

carlosfrutos avatar Aug 28 '23 18:08 carlosfrutos