
We’re saying that the ORMs are a good example of Django’s dynamic nature, but for me, what I understand from an ORM is that you strictly define your models and you’re supposed to know what attributes are on those models.Īleksei: You know the Paul’s tutorial from the Django documentation. Nafiul: So, Aleksei, talk to me about this a little bit more.

Things like ORMs, for example, are a good example of dynamic nature when, for example, function argument names depends on module field names.
#Pycharm black code
I believe the first thing we decided to do was sophisticated code completion because P圜harm had code completion for Python itself, but it is not enough for Django, because Django has a very dynamic nature. How did you go about doing that in the beginning? It’s a different thing to just supporting libraries. Nafiul: Okay, so you decided to support Django. And there was also a framework named Zope, I believe, but it was very long time ago. Ilya: I believe it was, Pyramid, Web2Py, something like that. So I understand Django was really popular back then, but what other frameworks were you considering? So we decided that for those who use Python for web development we’ll need Django.

Ilya: Actually it started long before me by different people, but Django is one of the most popular frameworks and it was most popular 10 years ago also. So without much further ado, Ilya, take it away. But I wanted them together in this one, just to talk about how Django support came to be and what we plan to do in the future. Now you’ve already met Ilya and Aleksei from previous podcast episodes. Today we’re going to be talking to Ilya and Aleksei, the two people behind the bulk of the Django support that you see in P圜harm. Lastly, we talk about what we plan to work on in the future for Django, and how we plan to make things easier to navigate with a project that is called “locations” for now. This has been challenging, since there are many dynamically created attributes that go into the class body as well as the Query and ModelManager objects. We then talk about code completion, especially about getting better code completion for Django’s ORM models. The main issue here that we’ve had to contend with over the years is Django’s dynamic nature, as well as the way it handles settings (mostly inside strings). We talk about how Django support came to be, as well as the challenges with creating tooling that works for Django. Ilya currently works on WSL and SSH (as well as other remote interpreters and targets) and Aleksei is also hard at work on integrating PyPI info into development and package management inside P圜harm. In this episode of Early Access P圜harm, I talked to both Ilya (the previous maintainer of the Django support for P圜harm) as well as Aleksei (the current maintainer).

Over this time, the Django support has been gone through many changes, as well as many maintainers. P圜harm had Django support from version 1.0.
