# a bolean field that displays as True even with a default value of False

**URL:** https://discuss.tryton.org/t/a-bolean-field-that-displays-as-true-even-with-a-default-value-of-false/8719
**Category:** Developer
**Created:** [July 9, 2025, 9:25pm UTC](https://discuss.tryton.org/t/a-bolean-field-that-displays-as-true-even-with-a-default-value-of-false/8719 "2025-07-09T21:25:30Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![ntej](https://discuss-cdn.tryton.org/letter_avatar_proxy/v4/letter/n/4da419/32.png) [@ntej](https://discuss.tryton.org/u/ntej)
#### Post date: [July 9, 2025, 9:25pm UTC](https://discuss.tryton.org/t/a-bolean-field-that-displays-as-true-even-with-a-default-value-of-false/8719/1 "2025-07-09T21:25:30Z")

</div>

I’m working on the `offered.package` model, which includes a field:

```auto
pythonCopierModifierjoint = fields.Selection([...], 'Joint')

```

with a default value set via:

```auto
pythonCopierModifierdef default_joint(self): return False 

```

Here’s the issue I’m encountering:

1. I open an existing record from the database.
2. I manually check the `joint` field (set it to `True`) and save the record.
3. Then, I click the **“+”** button to add a new record.

Despite the default value being `False`, the new record has the `joint` field set to `True` — as if it’s inheriting the value from the previous record, possibly due to some caching mechanism in the client.

Is this expected behavior?  
How can I **ensure the** `joint` **field is properly initialized to** `False` every time I add a new record?

Thanks in advance for your help.

---

<div class="post-metadata">

### Author: ![yangoon](https://discuss-cdn.tryton.org/letter_avatar_proxy/v4/letter/y/67e7ee/32.png) [@yangoon](https://discuss.tryton.org/u/yangoon)
#### Post date: [July 10, 2025, 6:08am UTC](https://discuss.tryton.org/t/a-bolean-field-that-displays-as-true-even-with-a-default-value-of-false/8719/2 "2025-07-10T06:08:06Z")

</div>

- 

> [@ntej](#):
>
> I’m working on the `offered.package` model, which includes a field:
> 
> `pythonCopierModifierjoint = fields.Selection([...], 'Joint')`

This is a selection field, not a boolean.

> [@ntej](#):
>
> with a default value set via:
> 
> `pythonCopierModifierdef default_joint(self): return False `

The method to provide default values usually would be:

```auto
@staticmethod
def default_pythonCopierModifierjoint():
    return <a valid selection for a selection field>
or
    return <a boolean for a boolean field>

```
