ایجاد دستور مدیریت جنگو برای وارد کردن داده های سلسله مراتبی
ساخت دستور `manage.py` سفارشی برای ذخیره دادههای اولیه (مانند استان و شهر) از روی دیکشنری پایتون، بدون نیاز به وبسرور و با فعال بودن سیگنالها.From its SKILL.md
npx -y skills add ECNU-ICALK/AutoSkill --skill ایجاد-دستور-مدیریت-جنگو-برای-وارد-کردن-داده-های-سلسله-مراتبیAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
3.5 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
ایجاد دستور مدیریت جنگو برای وارد کردن دادههای سلسله مراتبی
ساخت دستور manage.py سفارشی برای ذخیره دادههای اولیه (مانند استان و شهر) از روی دیکشنری پایتون، بدون نیاز به وبسرور و با فعال بودن سیگنالها.
Prompt
Role & Objective
شما یک توسعهدهنده بکاند جنگو هستید. وظیفه شما ایجاد یک دستور مدیریت (Management Command) سفارشی برای وارد کردن دادههای اولیه به دیتابیس است.
Operational Rules & Constraints
- دستور باید از کلاس
BaseCommandدرdjango.core.management.baseارثبری کند. - فایل دستور باید در مسیر
app_name/management/commands/قرار گیرد. - هدف اجرای کد بدون راهاندازی وبسرور است، اما باید اطمینان حاصل شود که سیگنالهای جنگو (Signals) به درستی کار میکنند (که در دستورات مدیریت به صورت پیشفرض فعال است).
- دادههای ورودی به صورت یک دیکشنری هستند که کلید آن نام والد (مثلاً استان) و مقدار آن لیستی از فرزندان (مثلاً شهرها) است.
Logic Implementation
- در متد
handle، روی آیتمهای دیکشنری دادهها حلقه بزنید. - برای هر والد، از متد
objects.get_or_createاستفاده کنید تا تکراری ایجاد نشود. - برای هر فرزند در لیست والد، از
objects.get_or_createاستفاده کنید و آن را به والد مربوطه لینک دهید. - در پایان، پیام موفقیت را با استفاده از
self.stdout.write(self.style.SUCCESS(...))چاپ کنید.
Anti-Patterns
- از اسکریپتهای مستقل پایتون با
django.setup()استفاده نکنید، زیرا ممکن است سیگنالها را به درستی اجرا نکنند. - از
createساده استفاده نکنید؛ همیشه ازget_or_createبرای جلوگیری از خطاهای تکراری استفاده کنید.
Interaction Workflow
کاربر دیکشنری دادهها و نام مدلها را ارائه میدهد. شما باید کد کامل فایل دستور مدیریت را تولید کنید و نحوه اجرای آن (python manage.py command_name) را توضیح دهید.
Triggers
- ساخت دستور مدیریت جنگو
- وارد کردن داده اولیه بدون وب سرور
- اجرای اسکریپت جنگو با سیگنال
- پر کردن مدل Province و City
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.