django: is it safe to remove `blank=True` from web-service only app?









up vote
0
down vote

favorite












I'm starting a project using an existing db. The models generated from inspectdb have



(...null=True, blank=True)


in various fields. The documentation mentions that the blank argument is related to django forms. I'm making a web service project, using django rest framework and the django ORM. Absolutely no view component (autogenerated forms, html templates, etc) of the MVC.



Does that mean it's safe to remove blank=True from my models?










share|improve this question

























    up vote
    0
    down vote

    favorite












    I'm starting a project using an existing db. The models generated from inspectdb have



    (...null=True, blank=True)


    in various fields. The documentation mentions that the blank argument is related to django forms. I'm making a web service project, using django rest framework and the django ORM. Absolutely no view component (autogenerated forms, html templates, etc) of the MVC.



    Does that mean it's safe to remove blank=True from my models?










    share|improve this question























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I'm starting a project using an existing db. The models generated from inspectdb have



      (...null=True, blank=True)


      in various fields. The documentation mentions that the blank argument is related to django forms. I'm making a web service project, using django rest framework and the django ORM. Absolutely no view component (autogenerated forms, html templates, etc) of the MVC.



      Does that mean it's safe to remove blank=True from my models?










      share|improve this question













      I'm starting a project using an existing db. The models generated from inspectdb have



      (...null=True, blank=True)


      in various fields. The documentation mentions that the blank argument is related to django forms. I'm making a web service project, using django rest framework and the django ORM. Absolutely no view component (autogenerated forms, html templates, etc) of the MVC.



      Does that mean it's safe to remove blank=True from my models?







      python django






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 2 days ago









      blue_note

      10.4k31831




      10.4k31831






















          3 Answers
          3






          active

          oldest

          votes

















          up vote
          2
          down vote



          accepted










          Without blank=True your application will fail validation when trying to serialize data with blank fields. Django rest framework ModelSerializer enforces any kind of validation that is on the model fields. It works similarly to Django ModelForms.



          If you're not using ModelSerializers and try to save a blank value against a field without blank=True your save method will throw an exception instead.



          TL;DR: if you remove blank=True your DRF serializer will fail validation against empty fields.



          Take a look at this question on how validation works in DRF.



          Hope this helps!






          share|improve this answer



























            up vote
            1
            down vote













            Probably not.



            Whatever your service is, you probably want to validate data. And Django's validation relies on that blank=True. It's not just for forms and templates. From the documentation:




            blank is validation-related.







            share|improve this answer



























              up vote
              1
              down vote













              Django Rest Framework will use the blank attribute on a model field in serializer validation. When blank is False, which is the default value, the ModelSerializer will raise a ValidationError if a value is not set for this field in a POST request.



              Basically, if you remove blank=True from a field and try to create a record with no value for that field, you will get a 400 response from your server.



              Nothing will break, just this request will fail to create a resource. In my book I'd call that safe. It really just comes down to whether you want the field to be required or not. But since you have null=True, it seems reasonable to have blank=True.






              share|improve this answer






















                Your Answer






                StackExchange.ifUsing("editor", function ()
                StackExchange.using("externalEditor", function ()
                StackExchange.using("snippets", function ()
                StackExchange.snippets.init();
                );
                );
                , "code-snippets");

                StackExchange.ready(function()
                var channelOptions =
                tags: "".split(" "),
                id: "1"
                ;
                initTagRenderer("".split(" "), "".split(" "), channelOptions);

                StackExchange.using("externalEditor", function()
                // Have to fire editor after snippets, if snippets enabled
                if (StackExchange.settings.snippets.snippetsEnabled)
                StackExchange.using("snippets", function()
                createEditor();
                );

                else
                createEditor();

                );

                function createEditor()
                StackExchange.prepareEditor(
                heartbeatType: 'answer',
                convertImagesToLinks: true,
                noModals: true,
                showLowRepImageUploadWarning: true,
                reputationToPostImages: 10,
                bindNavPrevention: true,
                postfix: "",
                imageUploader:
                brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                allowUrls: true
                ,
                onDemand: true,
                discardSelector: ".discard-answer"
                ,immediatelyShowMarkdownHelp:true
                );



                );













                 

                draft saved


                draft discarded


















                StackExchange.ready(
                function ()
                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53205974%2fdjango-is-it-safe-to-remove-blank-true-from-web-service-only-app%23new-answer', 'question_page');

                );

                Post as a guest






























                3 Answers
                3






                active

                oldest

                votes








                3 Answers
                3






                active

                oldest

                votes









                active

                oldest

                votes






                active

                oldest

                votes








                up vote
                2
                down vote



                accepted










                Without blank=True your application will fail validation when trying to serialize data with blank fields. Django rest framework ModelSerializer enforces any kind of validation that is on the model fields. It works similarly to Django ModelForms.



                If you're not using ModelSerializers and try to save a blank value against a field without blank=True your save method will throw an exception instead.



                TL;DR: if you remove blank=True your DRF serializer will fail validation against empty fields.



                Take a look at this question on how validation works in DRF.



                Hope this helps!






                share|improve this answer
























                  up vote
                  2
                  down vote



                  accepted










                  Without blank=True your application will fail validation when trying to serialize data with blank fields. Django rest framework ModelSerializer enforces any kind of validation that is on the model fields. It works similarly to Django ModelForms.



                  If you're not using ModelSerializers and try to save a blank value against a field without blank=True your save method will throw an exception instead.



                  TL;DR: if you remove blank=True your DRF serializer will fail validation against empty fields.



                  Take a look at this question on how validation works in DRF.



                  Hope this helps!






                  share|improve this answer






















                    up vote
                    2
                    down vote



                    accepted







                    up vote
                    2
                    down vote



                    accepted






                    Without blank=True your application will fail validation when trying to serialize data with blank fields. Django rest framework ModelSerializer enforces any kind of validation that is on the model fields. It works similarly to Django ModelForms.



                    If you're not using ModelSerializers and try to save a blank value against a field without blank=True your save method will throw an exception instead.



                    TL;DR: if you remove blank=True your DRF serializer will fail validation against empty fields.



                    Take a look at this question on how validation works in DRF.



                    Hope this helps!






                    share|improve this answer












                    Without blank=True your application will fail validation when trying to serialize data with blank fields. Django rest framework ModelSerializer enforces any kind of validation that is on the model fields. It works similarly to Django ModelForms.



                    If you're not using ModelSerializers and try to save a blank value against a field without blank=True your save method will throw an exception instead.



                    TL;DR: if you remove blank=True your DRF serializer will fail validation against empty fields.



                    Take a look at this question on how validation works in DRF.



                    Hope this helps!







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered 2 days ago









                    Hevlastka

                    9831826




                    9831826






















                        up vote
                        1
                        down vote













                        Probably not.



                        Whatever your service is, you probably want to validate data. And Django's validation relies on that blank=True. It's not just for forms and templates. From the documentation:




                        blank is validation-related.







                        share|improve this answer
























                          up vote
                          1
                          down vote













                          Probably not.



                          Whatever your service is, you probably want to validate data. And Django's validation relies on that blank=True. It's not just for forms and templates. From the documentation:




                          blank is validation-related.







                          share|improve this answer






















                            up vote
                            1
                            down vote










                            up vote
                            1
                            down vote









                            Probably not.



                            Whatever your service is, you probably want to validate data. And Django's validation relies on that blank=True. It's not just for forms and templates. From the documentation:




                            blank is validation-related.







                            share|improve this answer












                            Probably not.



                            Whatever your service is, you probably want to validate data. And Django's validation relies on that blank=True. It's not just for forms and templates. From the documentation:




                            blank is validation-related.








                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered 2 days ago









                            Kevin Christopher Henry

                            21.7k46258




                            21.7k46258




















                                up vote
                                1
                                down vote













                                Django Rest Framework will use the blank attribute on a model field in serializer validation. When blank is False, which is the default value, the ModelSerializer will raise a ValidationError if a value is not set for this field in a POST request.



                                Basically, if you remove blank=True from a field and try to create a record with no value for that field, you will get a 400 response from your server.



                                Nothing will break, just this request will fail to create a resource. In my book I'd call that safe. It really just comes down to whether you want the field to be required or not. But since you have null=True, it seems reasonable to have blank=True.






                                share|improve this answer


























                                  up vote
                                  1
                                  down vote













                                  Django Rest Framework will use the blank attribute on a model field in serializer validation. When blank is False, which is the default value, the ModelSerializer will raise a ValidationError if a value is not set for this field in a POST request.



                                  Basically, if you remove blank=True from a field and try to create a record with no value for that field, you will get a 400 response from your server.



                                  Nothing will break, just this request will fail to create a resource. In my book I'd call that safe. It really just comes down to whether you want the field to be required or not. But since you have null=True, it seems reasonable to have blank=True.






                                  share|improve this answer
























                                    up vote
                                    1
                                    down vote










                                    up vote
                                    1
                                    down vote









                                    Django Rest Framework will use the blank attribute on a model field in serializer validation. When blank is False, which is the default value, the ModelSerializer will raise a ValidationError if a value is not set for this field in a POST request.



                                    Basically, if you remove blank=True from a field and try to create a record with no value for that field, you will get a 400 response from your server.



                                    Nothing will break, just this request will fail to create a resource. In my book I'd call that safe. It really just comes down to whether you want the field to be required or not. But since you have null=True, it seems reasonable to have blank=True.






                                    share|improve this answer














                                    Django Rest Framework will use the blank attribute on a model field in serializer validation. When blank is False, which is the default value, the ModelSerializer will raise a ValidationError if a value is not set for this field in a POST request.



                                    Basically, if you remove blank=True from a field and try to create a record with no value for that field, you will get a 400 response from your server.



                                    Nothing will break, just this request will fail to create a resource. In my book I'd call that safe. It really just comes down to whether you want the field to be required or not. But since you have null=True, it seems reasonable to have blank=True.







                                    share|improve this answer














                                    share|improve this answer



                                    share|improve this answer








                                    edited 2 days ago

























                                    answered 2 days ago









                                    Henry Woody

                                    3,0882724




                                    3,0882724



























                                         

                                        draft saved


                                        draft discarded















































                                         


                                        draft saved


                                        draft discarded














                                        StackExchange.ready(
                                        function ()
                                        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53205974%2fdjango-is-it-safe-to-remove-blank-true-from-web-service-only-app%23new-answer', 'question_page');

                                        );

                                        Post as a guest














































































                                        Popular posts from this blog

                                        𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

                                        Edmonton

                                        Crossroads (UK TV series)