✅ حالا 28 تا best practice توی کار با مدل های جنگو
عناوین مقاله رو اینجا گذاشتم. برای دیدن جزییات لینک رو باز کنید.
1. Correct Model Naming
2. Relationship Field Naming
3. Correct Related-Name
4. Do not use ForeignKey with unique=True
5. Attributes and Methods Order in a Model
6. Adding a Model via Migration
7. Denormalisations
8. BooleanField
9. Business Logic in Models
10. Field Duplication in ModelForm
11. Do not use ObjectDoesNotExist
12. Use of choices
13. Why do you need an extra .all()?
14. Many flags in a model?
15. Redundant model name in a field name
16. Dirty data should not be found in a base
17. Getting the earliest/latest object
18. Never make len(queryset)
19. if queryset is a bad idea
20. Using help_text as documentation
21. Money Information Storage
22. Don't use null=true if you don't need it
23. Remove _id
24. Define unicode or str
25. Transparent fields list
26. Do not heap all files loaded by user in the same folder
27. Use abstract models
28. Use custom Manager and QuerySet
لینک:
https://steelkiwi.com/blog/best-practices-working-django-models-python/
عناوین مقاله رو اینجا گذاشتم. برای دیدن جزییات لینک رو باز کنید.
1. Correct Model Naming
2. Relationship Field Naming
3. Correct Related-Name
4. Do not use ForeignKey with unique=True
5. Attributes and Methods Order in a Model
6. Adding a Model via Migration
7. Denormalisations
8. BooleanField
9. Business Logic in Models
10. Field Duplication in ModelForm
11. Do not use ObjectDoesNotExist
12. Use of choices
13. Why do you need an extra .all()?
14. Many flags in a model?
15. Redundant model name in a field name
16. Dirty data should not be found in a base
17. Getting the earliest/latest object
18. Never make len(queryset)
19. if queryset is a bad idea
20. Using help_text as documentation
21. Money Information Storage
22. Don't use null=true if you don't need it
23. Remove _id
24. Define unicode or str
25. Transparent fields list
26. Do not heap all files loaded by user in the same folder
27. Use abstract models
28. Use custom Manager and QuerySet
لینک:
https://steelkiwi.com/blog/best-practices-working-django-models-python/
globaldev.tech
Best practices working with Django models in Python
Here are some pieces of advice for working with Django models. Some of them might seem obvious, but, hopefully, every developer will find some use in at least one point.
🔥10❤3👍2✍1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
🚦تفاوت مدرسه حضوری و مدرسه مجازی، سر کلاس امروزم 😅
پارسا یه سوال پرسید، در مورد حلقه for
اولش من درست متوجه سوالش نشدم، ولی محمدحسین فهمید منظورش چیه. اگه کلاس حضوری بود تمرکز بیشتزی داشتم.
تازه بعد دیدن این ویدئو متوجه سوتی هامون شدم.
ولی انصافا دانش آموزهای اکتیوی دارم، دمشون گرمه.
توی کلاس من اگه متوجه نشده باشی، با خیال راحت میتونی سوالت رو بپرسی.
هدف من تمام کردن کتاب نیست.
من از کلاس های مدرسه فیلم نمیگیرم. این چند دقیقه با حفظ حریم خصوصی بچه ها و کسب اجازه شون، استثنا بود.
پارسا یه سوال پرسید، در مورد حلقه for
اولش من درست متوجه سوالش نشدم، ولی محمدحسین فهمید منظورش چیه. اگه کلاس حضوری بود تمرکز بیشتزی داشتم.
تازه بعد دیدن این ویدئو متوجه سوتی هامون شدم.
ولی انصافا دانش آموزهای اکتیوی دارم، دمشون گرمه.
توی کلاس من اگه متوجه نشده باشی، با خیال راحت میتونی سوالت رو بپرسی.
هدف من تمام کردن کتاب نیست.
من از کلاس های مدرسه فیلم نمیگیرم. این چند دقیقه با حفظ حریم خصوصی بچه ها و کسب اجازه شون، استثنا بود.
❤13👏2
سلام. موقت 🫨
یه سایت/ سرویس مثل لیارا میخوام برای سایت جنگو
اما میخوام تعرفه هاش خیلی ارزونتر از لیارا باشه.
آپ تایمش هم کم باشه موشکلی نیست.
کامنت کنید لطفا یا به @miladhzz پیام بدید.
تشکر
ویرایش:
اصلا چرا موقت، پست رو حذف نمیکنم، شاید سوال دوستان دیگه هم بود.
و بشه نتیجه رو می نویسم
اینارو گفتن توی کامنت:
kubarcloud
hamravesh
runflare
Dockploy
pachim
digicloud
یه سایت/ سرویس مثل لیارا میخوام برای سایت جنگو
اما میخوام تعرفه هاش خیلی ارزونتر از لیارا باشه.
آپ تایمش هم کم باشه موشکلی نیست.
کامنت کنید لطفا یا به @miladhzz پیام بدید.
تشکر
ویرایش:
اصلا چرا موقت، پست رو حذف نمیکنم، شاید سوال دوستان دیگه هم بود.
و بشه نتیجه رو می نویسم
اینارو گفتن توی کامنت:
kubarcloud
hamravesh
runflare
Dockploy
pachim
digicloud
👍6❤1🆒1
این متن رو ببینید:
میخوام یه سری پست در موردش بنویسم. و یه سری چیزا باهاشون یاد بگیریم.
من mehdi رو نمی شناسم.
توی این ریپو کدهای سایت فروشگاهی Django رو اوپنسورس کردم؛ پروژهای که برای یادگیری معماری درست فروشگاههای آنلاین ساختم و روی اصول scalability و clean code پیادهسازی شده.
این پروژه دقیقاً چیکار میکنه؟
این پروژه برای این طراحی شده که یک فروشگاه آنلاین کامل با تمام قابلیتهای اساسی رو ارائه بده، از مدیریت محصولات گرفته تا سیستم پرداخت.
معماری و ویژگیهای تکنیکال:
فریمورک Django با Django ORM و معماری تمیز و قابل گسترش
سیستم سبد خرید با session-based management و مدیریت هوشمند محصولات
سیستم Payment Flow آماده توسعه با قابلیت اتصال آسان به درگاههای پرداخت
مدیریت کامل محصولات، دستهبندیها، سفارشها و کاربران از طریق پنل ادمین
پیادهسازی Authentication & Authorization استاندارد برای امنیت بالا
ساختار modular apps برای توسعه راحتتر شامل: products، cart، orders، accounts
استفاده از Template System با صفحات واکنشگرا و رابط کاربری مدرن
پروژه Dockerized شده و آماده برای دیپلوی در محیط production
قابلیتهای کلیدی:
نمایش محصولات با جزئیات کامل و دستهبندی پیشرفته
سیستم افزودن و حذف محصول از سبد خرید با مشخص کردن تعداد
پردازش سفارشها و مدیریت آدرسهای کاربران
پنل مدیریتی قدرتمند برای کنترل کامل فروشگاه
این یک پروژه Open Source هست و خوشحال میشم اگر دولوپرهای Django، برنامهنویسهای Backend، یا دوستان علاقهمند به توسعه فروشگاههای آنلاین در توسعه اون شریک بشن.
استارز گیتهاب لطف بزرگیه برای این پروژه.
https://github.com/mehdiseyfie/django_ecommerce_project
میخوام یه سری پست در موردش بنویسم. و یه سری چیزا باهاشون یاد بگیریم.
من mehdi رو نمی شناسم.
❤19🔥1👏1
جنگولرن
سلام. موقت 🫨 یه سایت/ سرویس مثل لیارا میخوام برای سایت جنگو اما میخوام تعرفه هاش خیلی ارزونتر از لیارا باشه. آپ تایمش هم کم باشه موشکلی نیست. کامنت کنید لطفا یا به @miladhzz پیام بدید. تشکر ویرایش: اصلا چرا موقت، پست رو حذف نمیکنم، شاید سوال دوستان دیگه…
دارم kubarcloud رو تست میکنم.
قیمت هاش خوبه و منعطفه.
فیچر "زمان بندی منابع" ش جالب بود برام.
قیمت هاش خوبه و منعطفه.
فیچر "زمان بندی منابع" ش جالب بود برام.
👍6❤1👎1
جنگولرن
این متن رو ببینید: توی این ریپو کدهای سایت فروشگاهی Django رو اوپنسورس کردم؛ پروژهای که برای یادگیری معماری درست فروشگاههای آنلاین ساختم و روی اصول scalability و clean code پیادهسازی شده. این پروژه دقیقاً چیکار میکنه؟ این پروژه برای این طراحی شده که…
✅اینو ازش یاد گرفتم
پروژه ش فایل README خوبی داره.
حتی ساختار پروژه رو به صورت درختی داره.
اپ هارو توضیح داده
روش نصب رو توضیح داده
در مورد env ها هم توضیح داده
کامندهارو هم توضیح داده
در مورد دیپلوی و pr دادن هم گفته
پروژه ش فایل README خوبی داره.
حتی ساختار پروژه رو به صورت درختی داره.
اپ هارو توضیح داده
روش نصب رو توضیح داده
در مورد env ها هم توضیح داده
کامندهارو هم توضیح داده
در مورد دیپلوی و pr دادن هم گفته
👍6🔥1
جنگولرن
این متن رو ببینید: توی این ریپو کدهای سایت فروشگاهی Django رو اوپنسورس کردم؛ پروژهای که برای یادگیری معماری درست فروشگاههای آنلاین ساختم و روی اصول scalability و clean code پیادهسازی شده. این پروژه دقیقاً چیکار میکنه؟ این پروژه برای این طراحی شده که…
❕یه ایراد دیدم
هیچ تستی توی این پروژه نیست.
ولی توی README در مورد اجرای test ها توضح داده بود
هیچ تستی توی این پروژه نیست.
ولی توی README در مورد اجرای test ها توضح داده بود
👍3🔥1
جنگولرن
این متن رو ببینید: توی این ریپو کدهای سایت فروشگاهی Django رو اوپنسورس کردم؛ پروژهای که برای یادگیری معماری درست فروشگاههای آنلاین ساختم و روی اصول scalability و clean code پیادهسازی شده. این پروژه دقیقاً چیکار میکنه؟ این پروژه برای این طراحی شده که…
✅برای مدل هاش یک مدل base ساخته که abstract هست و خوبه
❕اما این مدل رو برده توی یه فولدر گذاشته، بهتر بود، یه اپ مثلا به اسم core میساخت
و توی models.py ش این مدل base رو میذاشت.
اگر نظری دارید کامنت کنید
لینک کانال ایتا 😁
https://eitaa.com/joinchat/2971141080Cbd473889a4
❕اما این مدل رو برده توی یه فولدر گذاشته، بهتر بود، یه اپ مثلا به اسم core میساخت
و توی models.py ش این مدل base رو میذاشت.
اگر نظری دارید کامنت کنید
لینک کانال ایتا 😁
https://eitaa.com/joinchat/2971141080Cbd473889a4
👍4❤2🔥1
جنگولرن
✅برای مدل هاش یک مدل base ساخته که abstract هست و خوبه ❕اما این مدل رو برده توی یه فولدر گذاشته، بهتر بود، یه اپ مثلا به اسم core میساخت و توی models.py ش این مدل base رو میذاشت. اگر نظری دارید کامنت کنید لینک کانال ایتا 😁 https://eitaa.com/joinchat/2…
❕ایرادی که یکی از دوستان به این base model گرفتن:
مواردی که بهش میشه اشاره کرد اینه که اسم مدل base خیلی generic هستش
وقتی شما اسم مدل رو گذاشتید base و اومدید فیلد pk ش رو روی uuid ست کردید یعنی اینکه میخواهید هر جا از این استفاده کنید pk بشه uuid من که فکر نمیکنم و احتمالا نیاز هم نیست خیلی جاها این اتفاق بیفته
مورد بعدی وقتی شما فیلدی رو primary key True میکنید دیگه نیاز نیستش که بیایید و unique True هم براش ست کنید با انجام کار اول دومی خودش اتفاق میفته
برای فیلد update هم اپشن اشتباه انتخاب شده.
جنگولرن:
نکات خوبی گفتن، چون من ننوشتم، پس لینک ایتا روی این پست نمیزارم 😁
مواردی که بهش میشه اشاره کرد اینه که اسم مدل base خیلی generic هستش
وقتی شما اسم مدل رو گذاشتید base و اومدید فیلد pk ش رو روی uuid ست کردید یعنی اینکه میخواهید هر جا از این استفاده کنید pk بشه uuid من که فکر نمیکنم و احتمالا نیاز هم نیست خیلی جاها این اتفاق بیفته
مورد بعدی وقتی شما فیلدی رو primary key True میکنید دیگه نیاز نیستش که بیایید و unique True هم براش ست کنید با انجام کار اول دومی خودش اتفاق میفته
برای فیلد update هم اپشن اشتباه انتخاب شده.
جنگولرن:
نکات خوبی گفتن، چون من ننوشتم، پس لینک ایتا روی این پست نمیزارم 😁
👍3❤1🔥1😁1
جنگولرن
این متن رو ببینید: توی این ریپو کدهای سایت فروشگاهی Django رو اوپنسورس کردم؛ پروژهای که برای یادگیری معماری درست فروشگاههای آنلاین ساختم و روی اصول scalability و clean code پیادهسازی شده. این پروژه دقیقاً چیکار میکنه؟ این پروژه برای این طراحی شده که…
❕فایل requirements ش خیلی شلوغه، فکر کنم فقط زده
pip freeze > requirements.txt
خیلی شلوغه
من پکیج های اصلی رو فقط توی این میزارم
پکیج های وابسته شون خودشون نصب میشن
البته روش های دیگه ای هم هست برای مدیریت وابستگی ها، اما اینم اوکیه
لینک کانال ایتا 😁
https://eitaa.com/joinchat/2971141080Cbd473889a4
pip freeze > requirements.txt
خیلی شلوغه
من پکیج های اصلی رو فقط توی این میزارم
پکیج های وابسته شون خودشون نصب میشن
البته روش های دیگه ای هم هست برای مدیریت وابستگی ها، اما اینم اوکیه
لینک کانال ایتا 😁
https://eitaa.com/joinchat/2971141080Cbd473889a4
👍2👎2🤮2❤1
جنگولرن
این متن رو ببینید: توی این ریپو کدهای سایت فروشگاهی Django رو اوپنسورس کردم؛ پروژهای که برای یادگیری معماری درست فروشگاههای آنلاین ساختم و روی اصول scalability و clean code پیادهسازی شده. این پروژه دقیقاً چیکار میکنه؟ این پروژه برای این طراحی شده که…
اسم اپ ها جمع بسته شده. بهتره مفرد باشن.
مثلا orders بهتره order باشه و...
کانال ایتا:
https://eitaa.com/joinchat/2971141080Cbd473889a4
مثلا orders بهتره order باشه و...
کانال ایتا:
https://eitaa.com/joinchat/2971141080Cbd473889a4
👍2
جنگولرن
این متن رو ببینید: توی این ریپو کدهای سایت فروشگاهی Django رو اوپنسورس کردم؛ پروژهای که برای یادگیری معماری درست فروشگاههای آنلاین ساختم و روی اصول scalability و clean code پیادهسازی شده. این پروژه دقیقاً چیکار میکنه؟ این پروژه برای این طراحی شده که…
یه ارتباط یک به یک بین user و profile ساخته
اما من کاربرد این پروفایل رو متوجه نشدم
خالیه
لینک ایتا:
https://eitaa.com/joinchat/2971141080Cbd473889a4
اما من کاربرد این پروفایل رو متوجه نشدم
خالیه
لینک ایتا:
https://eitaa.com/joinchat/2971141080Cbd473889a4
👍1
جنگولرن
دستهبندی پیشرفته
من دسته بندی پیشرفته ندیدم توی این پروژه
یه ارتباط یک به چند هست.
که برای دسته بندی ایده آل نیست
لینک ایتا:
https://eitaa.com/joinchat/2971141080Cbd473889a4
یه ارتباط یک به چند هست.
که برای دسته بندی ایده آل نیست
لینک ایتا:
https://eitaa.com/joinchat/2971141080Cbd473889a4
👍1
جنگولرن
این متن رو ببینید: توی این ریپو کدهای سایت فروشگاهی Django رو اوپنسورس کردم؛ پروژهای که برای یادگیری معماری درست فروشگاههای آنلاین ساختم و روی اصول scalability و clean code پیادهسازی شده. این پروژه دقیقاً چیکار میکنه؟ این پروژه برای این طراحی شده که…
به جای استفاده از list و tuple برای choices ها می تونست از models.TextChoices استفاده کنه.
لینک ایتا:
https://eitaa.com/joinchat/2971141080Cbd473889a4
لینک ایتا:
https://eitaa.com/joinchat/2971141080Cbd473889a4
❤2👍1🤮1
جنگولرن
این متن رو ببینید: توی این ریپو کدهای سایت فروشگاهی Django رو اوپنسورس کردم؛ پروژهای که برای یادگیری معماری درست فروشگاههای آنلاین ساختم و روی اصول scalability و clean code پیادهسازی شده. این پروژه دقیقاً چیکار میکنه؟ این پروژه برای این طراحی شده که…
توی settings.py تنظیمی برای cache نذاشته. پس از سیستم کش پیشفرض جنگو استفاده میشه.
توی این لینک قبلا گفتم چرا بهتره از cache پیش فرض استفاده نشه:
https://t.iss.one/djangolearn_ir/1133
لینک ایتا:
https://eitaa.com/joinchat/2971141080Cbd473889a4
توی این لینک قبلا گفتم چرا بهتره از cache پیش فرض استفاده نشه:
https://t.iss.one/djangolearn_ir/1133
لینک ایتا:
https://eitaa.com/joinchat/2971141080Cbd473889a4
👍2
جنگولرن
اسم اپ ها جمع بسته شده. بهتره مفرد باشن. مثلا orders بهتره order باشه و... کانال ایتا: https://eitaa.com/joinchat/2971141080Cbd473889a4
نظر دوستان در مورد نامگذاری درست اپ ها:
-استثناً فکر میکنم اسم اپ ها به صورت جمع درست هست
داخل فروم ها هم توسعه دهنده های جنگو میگن تا جایی که میشه جمع ببندید، اگر اشتباه نکنم اپ بیلت این (accounts) توسعه دهنده های جنگو اسم جمعشو نوشتن.
-اپ admin چرا admins نیست؟
-کتاب two scoops of django صفحه ۳۴
دربارهی اسم اپ
گفته بهطور کلی جمع باشه ولی برای یه سری جاها مثل blog مفرد باشه
لینک ایتا:
https://eitaa.com/joinchat/2971141080Cbd473889a4
-استثناً فکر میکنم اسم اپ ها به صورت جمع درست هست
داخل فروم ها هم توسعه دهنده های جنگو میگن تا جایی که میشه جمع ببندید، اگر اشتباه نکنم اپ بیلت این (accounts) توسعه دهنده های جنگو اسم جمعشو نوشتن.
-اپ admin چرا admins نیست؟
-کتاب two scoops of django صفحه ۳۴
دربارهی اسم اپ
گفته بهطور کلی جمع باشه ولی برای یه سری جاها مثل blog مفرد باشه
لینک ایتا:
https://eitaa.com/joinchat/2971141080Cbd473889a4