On Wednesday, January 3, 2018 at 3:03:36 PM UTC+3, chern...@gmail.com wrote:
>
> What field should i use to store byte string so that i can later use it 
> for ByteIO to convert it into image ?
>
> As this is my first time doing on byte string to image, i am pretty lost 
> on what i need to do.
>
> I tried using BinaryField for the image model but when checking the field 
> out on Django admin, it gave me this error
> 'image' cannot be specified for MyUser model form as it is a non-editable 
> field
> i also tried setting BinaryField(editable=True) but it still doesnt work.
>
> May i have some guidance on how to store the byte string ? 
>


Whether stored as bytestrings or images, it is a bad practice to store 
images in the database.
I believe from the problem description that what you are trying to 
acomplish is store images which you receive in the form of a bytestring.
Have you considered converting the bytestring to an image and storing the 
image in file system using normal imageField:
It would be something like this:

            
 import base64
 def _construct_image(bytestring):
    img = open("imageToSave.png", "wb")
    img.write(str.decode('base64'))
    img.close()




In your django models, you use this function to convert the bytestring to an 
image and store where upload_to
 wants to store it.
Suppose you choose to overide the save method to handle the handle the 
conversion, that will be something like:

def save(self, *args, **kwargs):
    ....
    image = _construct_image(self.image)
    ....
    return Super(YourModel, self).save(*args, **kwargs)



Check if it works.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/63d4b946-3b58-44c6-94c1-f61c9a91abaf%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to