So when you run this for the 10th time, you want 10 copies of that same data in the database? If you’re doing it with 100 users, you want 1000 entries in your database? These entries don’t go away when the app ends.
The way you’re designing this, you’re going to have n * m rows in the database, where n is the number of users and m is the number of times you’ve started your app.
If you haven’t yet worked your way through the Official Django Tutorial, that’s the best place to start. If you have completed that, then…
See Providing initial data for models | Django documentation | Django and Writing custom django-admin commands | Django documentation | Django
What you don’t want to do is have this type of code run automatically with each start.
You also need to be aware that when you’re running Django, your “current directory” is not the directory for each file being run - it’s the directory where you’re running manage.py. Relative imports are relative to that location, not the location of the function currently being executed.