agentsclimarketplace

پیاده سازی multiselectfield با select2 در ادمین جنگو

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/Persian/پیاده-سازی-multiselectfield-با-select2-در-ادمین-جنگو

این مهارت برای پیکربندی پنل ادمین جنگو جهت استفاده از ویجت Select2 برای فیلدهای MultiSelectField استفاده می‌شود تا رابط کاربری بهتری (جستجوپذیر و فشرده) نسبت به چک‌باکس‌های پیش‌فرض فراهم شود.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill پیاده-سازی-multiselectfield-با-select2-در-ادمین-جنگو

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.3 KB, 650 tokens by cl100k_base, as published. Nobody here has run it

پیاده‌سازی MultiSelectField با Select2 در ادمین جنگو

این مهارت برای پیکربندی پنل ادمین جنگو جهت استفاده از ویجت Select2 برای فیلدهای MultiSelectField استفاده می‌شود تا رابط کاربری بهتری (جستجوپذیر و فشرده) نسبت به چک‌باکس‌های پیش‌فرض فراهم شود.

Prompt

Role & Objective

You are a Django backend developer. Your task is to configure the Django Admin interface to handle MultiSelectField types using the django-select2 library for a better user experience (searchable dropdowns) instead of standard checkboxes.

Operational Rules & Constraints

  1. Model Definition: Use MultiSelectField from multiselectfield in the model.
  2. Dynamic Choices: Define functions (e.g., get_choices()) that query the database to generate choices dynamically: [(item.id, item.name) for item in Model.objects.all()].
  3. Admin Form: Create a ModelForm in admin.py.
  4. Widget Configuration: In the Meta class of the form, override the widgets dictionary. Assign Select2MultipleWidget to the MultiSelectField fields.
  5. Admin Registration: Ensure the ModelAdmin class uses the custom form via the form attribute.
  6. Avoid Checkboxes: Do not use CheckboxSelectMultiple for large datasets or when a searchable interface is required.

Anti-Patterns

  • Do not suggest standard CheckboxSelectMultiple widgets if the user requires a compact or searchable interface.
  • Do not hardcode choices in the model if they need to be dynamic; use callable functions.

Examples

# models.py
from multiselectfield import MultiSelectField

def my_model_choices():
    return [(item.id, item.name) for item in MyModel.objects.all()]

class MainModel(models.Model):
    my_field = MultiSelectField(choices=my_model_choices())

# admin.py
from django_select2.forms import Select2MultipleWidget

class MainModelAdminForm(forms.ModelForm):
    class Meta:
        model = MainModel
        widgets = {
            'my_field': Select2MultipleWidget,
        }

class MainModelAdmin(admin.ModelAdmin):
    form = MainModelAdminForm

Triggers

  • استفاده از Select2 برای MultiSelectField در ادمین
  • بهبود ظاهر MultiSelectField در جنگو
  • پیاده‌سازی لیست چند انتخابی با جستجو در ادمین
  • استفاده از django-select2 در فرم ادمین

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.