Git Product home page Git Product logo

Comments (3)

carlosfrutos avatar carlosfrutos commented on June 12, 2024 2

@renja-g
I ended up using an array. If it's empty, then I consider it equivalent as None. Key names are ignored though:

import traceback
from typing import List

from odmantic import Model, EmbeddedModel, Field, Reference


class Error(EmbeddedModel):
    code: int = Field(500)
    message: str = Field("Internal Server Error")


class Document(Model):
    text: str = Field(...)
    error: List[Error] = Reference(key_name="dsError")

try:
    print(Document(text="This is a test", error=[]).doc())
except Exception as e:
    print(traceback.format_exc())
try:
    print(Document(text="This is a failure", error=[Error(code=404, message="Not found")]).doc())
except Exception as e:
    print(traceback.format_exc())

Output:

{'text': 'This is a test', 'error': [], '_id': ObjectId('661e929c48b2346427e89de1')}
{'text': 'This is a failure', 'error': [{'code': 404, 'message': 'Not found'}], '_id': ObjectId('661e929c48b2346427e89de2')}

from odmantic.

renja-g avatar renja-g commented on June 12, 2024 1

@carlosfrutos Did you find a way to work around?
Also, @art049 are there any plans to fix this, because this issue is already quite old

I currently have the same problem:

class miniSeriesDTO(EmbeddedModel):
    losses: int
    progress: str
    target: int
    wins: int


class LeagueEntry(Model):
    leagueId: str
    queueType: str
    tier: TierEnum
    rank: RankEnum
    leaguePoints: int
    wins: int
    losses: int
    hotStreak: bool
    veteran: bool
    freshBlood: bool
    inactive: bool
    miniSeries: Optional[miniSeriesDTO] = None

from odmantic.

conql avatar conql commented on June 12, 2024

Are there any updates or workarounds?

from odmantic.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.