Brobin / django-seed

:seedling: Seed your Django database with fake data
MIT License
687 stars 86 forks source link

How to fill many to many relations? #117

Open sergeypoprovka opened 1 year ago

sergeypoprovka commented 1 year ago

Hey!

Inside the User model I have Skills relation which is many-to-many filed. It can't be null. So when I'm trying to use Django-seed w/o extra params - it's giving me the error that "The field can't be null". Which is logical. But when I'm trying to pass list of Skill objects there - it's giving me

**TypeError: Direct assignment to the forward side of a many-to-many set is prohibited.**

So the question is - if it's possible at all to seed many-to-many model? And if yes - how to do that?

ethagnawl commented 1 month ago

This is interesting, @sergeypoprovka. I find myself in the opposite situation where seeder is creating M2M relationships when I don't want them and I see that error when trying to specify an empty queryset or none literally in the override kwarg.

Have you tried creating seed Skills before seed Users?

In my case, I'm temporarily using a fork which removes the auto-population behavior altogether but it'd be nice to solve this cleanly in both our cases upstream.