Home > front end >  Django sets a default value to model input
Django sets a default value to model input

Time:01-28

When I load the page, the value of the input is automaticly this: Issue Screenshot

How is that possible?

views file

    if request.method == 'POST':
        form = FieldForm(request.POST, instance=Field(user=request.user))
        if form.is_valid():
            obj = form.save(commit=False)
            obj.creator_adress = get_client_ip(request)
            obj.save()
            return redirect('/dashboard')
    else:
        form = FieldForm(instance=Field)
    
    ......

forms file

class FieldForm(forms.ModelForm):
    class Meta:
        model = Field

        fields = (
            'title',
            'url'
        )

models file

class Field(models.Model):
    user = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        default=None,
        null=True,
        on_delete=models.CASCADE,
    )
    title = models.CharField(max_length=255)
    url = models.CharField(max_length=255)
    creator_adress = models.GenericIPAddressField(null=True)

    def __str__(self):
        return str(self.user)

Here one input

  •  Tags:  
  • Related