Help with Jam.py v5 to v7 Migration Error

16 views
Skip to first unread message

Moh. Sarip Hidayat

unread,
Mar 8, 2026, 4:35:09 PMMar 8
to Jam.py Users Mailing List
Dear Jam.py Community,

I am currently migrating a Jam.py project from v5 to v7 following the guidance provided in How to migrate v5 project to v7 — Jam.py documentation. However, upon loading the page, I encounter the following error:
ERROR - Error creating project
Traceback (most recent call last):
  File "/home/cnc-group/Projects/order_mgmt-dev/.venv/lib/python3.12/site-packages/jam/admin/task.py", line 339, in load_task
    task.bind_items()
  File "/home/cnc-group/Projects/order_mgmt-dev/.venv/lib/python3.12/site-packages/jam/tree.py", line 132, in bind_items
    item.bind_items()
  File "/home/cnc-group/Projects/order_mgmt-dev/.venv/lib/python3.12/site-packages/jam/tree.py", line 132, in bind_items
    item.bind_items()
  File "/home/cnc-group/Projects/order_mgmt-dev/.venv/lib/python3.12/site-packages/jam/tree.py", line 130, in bind_items
    self.bind_item()
  File "/home/cnc-group/Projects/order_mgmt-dev/.venv/lib/python3.12/site-packages/jam/tree.py", line 347, in bind_item
    self._prepare_dataset()
  File "/home/cnc-group/Projects/order_mgmt-dev/.venv/lib/python3.12/site-packages/jam/dataset.py", line 1142, in _prepare_dataset
    self.__prepare_fields()
  File "/home/cnc-group/Projects/order_mgmt-dev/.venv/lib/python3.12/site-packages/jam/dataset.py", line 1173, in __prepare_fields
    field.lookup_field1 = lookup_field1.field_name
AttributeError: 'NoneType' object has no attribute 'field_name'
This eventually raises a ProjectError when trying to create the task.

Has anyone encountered this issue during migration? Could it be related to dataset field definitions or lookup configurations between v5 and v7? Any guidance or troubleshooting steps would be greatly appreciated.

Thank you.

Best Regards,
Moh. Sarip Hidayat
Visit my website at musahi0128.github.io

Moh. Sarip Hidayat

unread,
Mar 8, 2026, 5:06:16 PMMar 8
to Jam.py Users Mailing List
Welp, seems like giving up is my mantra before the machine would properly help me.

Here's the entire conversation for anyone interested.

Basically, there are a lookup field that needs to be redone.
My first iteration with the machine didn't result in helpful hint, only saying a lookup field is having an error with no way to properly locate it.
Going with the second iteration, I upload the relevant source code, and the machine gives me a relevant SQL select statement to run against the admin.sqlite:

SELECT id, owner_rec_id, f_field_name, f_object, f_object_field, f_object_field1, f_object_field2
FROM sys_fields
WHERE id = 3 OR f_object_field1 = 3;

The query shows which item the field was in, I then go open it in the builder, redo the lookup filed and the issue is solved.

I hope this will help others.

Thank you!

Dean D. Babic

unread,
Mar 9, 2026, 8:20:07 AMMar 9
to Jam.py Users Mailing List
Here is Fabio's SEM v5 to  practise with (from https://sem.pythonanywhere.com/) :


And here is the database as well.

The only thing I did not do is Task\Client Code, because Fabio has changed it a lot.
Follow the migration DOc, c/p code from v7 demo, compare with original and copy Fabios block of code into v7.

This app is complex and there were no issues at all. When v7 app is started, this will be shown from
migration.py:
./server.py
Skipping sys_fields.id = 583 : Item sys_fields is not in edit or insert state
...

Ignore the above.

I was even able to make a complete translation to Chinese. Use pip install deep_translator,
create a new lang zh-CN on "Language table", and click on "All groups" - translate.
A lot more needs a translation tho, but this is how it can be done.
The app must use "Safe Mode" - nothing will would without it - ask Fabio, its his app.

D.
sem.sqlite
Screenshot from 2026-03-09 20-11-58.png
Reply all
Reply to author
Forward
0 new messages