Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ByteArray Field #149

Open
1 of 2 tasks
FrostiiWeeb opened this issue Feb 2, 2022 · 3 comments
Open
1 of 2 tasks

Add ByteArray Field #149

FrostiiWeeb opened this issue Feb 2, 2022 · 3 comments

Comments

@FrostiiWeeb
Copy link

FrostiiWeeb commented Feb 2, 2022

Checklist

  • There are no similar issues or pull requests for this yet.
  • I discussed this idea on the community chat and feedback is positive.

Is your feature related to a problem? Please describe.

I want to be able to make a ByteArray field for my projects.

Describe the solution you would like.

For example, i would like to have the BYTEA Type in ORM.
Eg:

import orm
...
class Example(orm.Model):
    tablename = "example"
    registry = metadata

    fields = {
        "user_id": orm.BigInteger(primary_key=True),
        "example_bytes": orm.ByteArray()
    }

And when i do for example,

field_ex = Example
# in async func
data = await field_ex.objects.get(user_id=1)
return data.example_bytes # this would return python bytes

Describe alternatives you considered

I considered using raw asyncpg which i am, but i would like the bytearray field in ORM so i can use it.

Additional context

@Mng-dev-ai
Copy link
Contributor

@aminalaee What do you think?

@aminalaee
Copy link
Member

Maybe we should use a more generic field type for this. Something like SQLAlchemy LargeBinary.

This will behave differently for each database, and make it easier since we rely on SQLAlchemy core.

@Mng-dev-ai
Copy link
Contributor

And maybe a BinaryField for typesystem too ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants