Error when editing taxon tree in specify7

Hi @sfiat,

Apologies for the delay– we have been investigating this and have finally discovered what issue is causing this problem!

It is going to get a bit technical, so bear with me!

The problem is with the commonName field’s formatter in the Taxon table.

<format system="false" name="VIROT_idtax" class="edu.ku.brc.specify.datamodel.Taxon" fieldname="commonName">
    <autonumber>edu.ku.brc.af.core.db.AutoNumberGeneric</autonumber>
    <field type="constant" size="3" value="TAX"/>
    <field type="separator" size="1" value="-"/>
    <field type="numeric" size="5" inc="true"/>
</format>

Before saving an object, Specify locks the tables and fields associated with the record and it’s (auto-incrementing) formatters

https://github.com/specify/specify7/blob/8983e264b0887c46464a9a6e9dff5cecb069b6dd/specifyweb/specify/autonumbering.py#L41-L43

You can remove the formatter or set inc to false on the final line that defines the formatter:

    <field type="numeric" size="5" inc="false"/>

and then you will be able to create a new taxon successfully!

If you’d like to do this using Specify 6, you can follow these steps:

  1. Go to the Schema Configuration tool.

    From here, go to the table taxon and the field commonName .

  2. Click on the button next to the field format name.

  3. Click on the format VIROT_idtax and click on the pencil :pencil2: to edit.

  4. Click on the numeric section of the catalog number and disable auto-incrementing.

  5. Now in Specify 7, clear your browser’s cache (you can log in and out) and edit an item in the tree!


Unfortunately, this change means that you cannot auto-increment the field. Instead, you will need to enter a new number manually when creating a new Taxon record if you wish to continue using it as an identifier.

We’ve opened a GitHub issue to track this problem! Our developers are now aware of the issue. Thank you so much for your report!