Skip to content

How to set default value to a dataclass field? #58

Open
@barenko

Description

@barenko

I want to set a None value in Optional dataclass fields. But I was unable to find how to do it in documentation. This is possible?

I have a table like:

create table t(
   id serial primary key, 
   name varchar not null, 
   description text null
)

running sqlc generate I got:

@dataclasses.dataclass()
class T:
   id: int
   name: str
   description: Optional[str]

But what I really wants is a default None value in description, like:

@dataclasses.dataclass()
class T:
   id: int
   name: str
   description: Optional[str] = None

I'm using sqlc v1.27.0 (by docker) and generating python code for postgres with the config:

version: '2'
plugins:
- name: py
  wasm:
    url: https://downloads.sqlc.dev/plugin/sqlc-gen-python_1.2.0.wasm
    sha256: a6c5d174c407007c3717eea36ff0882744346e6ba991f92f71d6ab2895204c0e
sql:
- schema: "schema.sql"
  queries: "queries.sql"
  engine: postgresql
  codegen:
  - out: ./model
    plugin: py
    options:
      package: model
      emit_sync_querier: true
      emit_async_querier: true
      emit_empty_slices: true

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