Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7543127
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 30, 20262026-05-30T08:20:47+00:00 2026-05-30T08:20:47+00:00

I have a Model that looks like: class MyModel(Model): name = models.TextField(blank=True, default=”) bio

  • 0

I have a Model that looks like:

class MyModel(Model):
  name = models.TextField(blank=True, default='')
  bio = models.TextField(blank=True, default='')

and a ModelForm that looks like:

class MyModelForm(ModelForm):

  class Meta:
      model = MyModel
      fields = ('name', 'bio')

When I create/ init my form like this:

form = MyModelForm(instance=my_model, data={'bio': 'this is me'})  # where my_model has a name already set

then:

form.is_valid() # evaluates to true
form.save() # overwrites the name field in my_model and makes it blank!

Is this the expected behaviour? How would I change this so that I can ensure that if a field is not specified in the form, but it exists already in the instance that it is not overwritten with an empty string?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-30T08:20:48+00:00Added an answer on May 30, 2026 at 8:20 am

    Note that Django only sets the name field to empty because you have set blank=True. If the field was required, there would be a validation error instead.

    Recently there was a discussion on the django-developers group about changing this behaviour. The core developers Adrian and Paul were in favour of the current behaviour.

    So, if you’re going to use model forms for this view with models where you use blank=True, you’ll need to include all the model fields in your data dict. You can use the function model_to_dict for this.

    from django.forms.models import model_to_dict
    data = model_to_dict(my_model)
    data.update({'bio': 'this is me'}) # or data.update(request.POST) 
    form = MyModelForm(instance=my_model, data=data)
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a Model that looks something like this: class Business(models.Model): name = models.CharField('business
my model looks like this: class MyModel(models.Model): field1 = models.FloatField(default=0) field2 = models.FloatField(default=0) This
I have a Django model which looks like this: class MyModel(models.Model): parent = models.ForeignKey(ParentModel)
I have a model that looks like this: class Movie(models.Model): title = models.CharField(max_length=200) slug
I have a Django model that looks like this. class Solution(models.Model): ''' Represents a
I have a Django application. One of my models looks like this: class MyModel(models.Model):
I have a rails model that looks something like this: class Recipe < ActiveRecord::Base
I have a class in my domain model root that looks like this: namespace
Newbie question. I have Django models that look like this: class Video(models.Model): uploaded_by =
I have a model that is something like this: class Input(models.Model): details = models.CharField(max_length=1000)

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.