Obtain some reasonable degree of proficiency with Python. See the Beginners Guide to Python for some resources. At a minimum, it would be best to have an understanding of such topics as Lists, Dicts, and Tuples; Control Flow statements (loops and conditionals, list comprehensions); Code Organization techniques (Classes, Functions, Modules, Packages); Environment management (venv, pip, etc); and an appreciation for everything that exists in the standard library. (No, I’m not saying someone should know the entire standard library. But, they should be familiar enough with what’s in there to realize that there’s a lot there.)
Then, once that’s done, I believe Django can be more easily learned. Work through the tutorials, look at other released projects, and experiment with it.
I won’t address rates of learning. Everyone learns in different ways and at different rates. Availability of resources and guidance is going to have a tremendous effect on the timetable. Access to in-person training / mentorship is, IMO, far more effective than just working through written examples.