Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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