Skip to content

When using hashmodel, 'id' appears to be a reserved name? #223

Closed
@rkulagowski

Description

@rkulagowski
from redis_om import Field, HashModel, Migrator
from pydantic import PositiveInt, ValidationError
from typing import Optional

class RatingBody(HashModel):
    id: PositiveInt = Field(index=True)
    name: str
    country: str
    language: str
    code: str
    description: Optional[str]
    update_ID: PositiveInt
    update_date: str

def lambda_handler(event, context):
    try:
        c_v = RatingBody(
            id=1,
            name='abcd',
            country='usa',
            language='en',
            code='2134',
            description='test value',
            update_ID=9876554,
            update_date='2022-04-29'
        )
        c_v.save()
    except ValidationError as e:
        print(f'validation error: {e}')
    Migrator().run()
    a = RatingBody.find(RatingBody.id == 1).all()
    print ("Breakpoint here")


if __name__ == '__main__':
    lambda_handler(None, None)
    print ("Done")

Will result in the following error:

pydantic.error_wrappers.ValidationError: 1 validation error for RatingBody
id
  field required (type=value_error.missing)

Changing from 'id' to anything else causes the code to work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions