Middle
Ի՞նչ նպատակով է օգտագործվում IntegerChoices-ը Django-ում։
sobes.tech AI
Պատասխան AI-ից
Django-ում IntegerChoices օգտագործվում է անվանված ամբողջ թվային մշտական արժեքների հավաքածու սահմանելու համար: Դա հարմար և ընթեռնելի միջոց է ներկայացնելու հաստատված թվային արժեքների հավաքածու, օրինակ, կարգավիճակներ կամ տեսակներ, որոնք կարող են կապված լինել մոդելի դաշտերի հետ:
IntegerChoices օգտագործելու հիմնական առավելությունները:
- Կոդի ընթեռնելիություն: Մշտական արժեքների անունները ավելի պարզ են, քան "մոգիկ" թվերի օգտագործումը:
- Բարելավված աջակցություն ձևանմուշներում և ադմինիստրատիվ ինտերֆեյսում: Django-ն ինքնաբերաբար ստեղծում է ընտրանքային վիդջեթներ (select widgets)՝ հիմնված անվանված մարկերների վրա:
- Խաբկանքների կանխում: Մշտական արժեքների օգտագործումը փոխարենը ուղղակի թվային արժեքների՝ նվազեցնում է սխալների հավանականությունը:
- Կենտրոնական կառավարում: Բոլոր հնարավոր արժեքները հավաքված են մեկ վայրում:
Օգտագործման օրինակ:
# choices.py կամ models.py
from django.db import models
class OrderStatus(models.IntegerChoices):
PENDING = 0, 'Սպասում է'
PROCESSING = 1, 'Ինքնագործում'
SHIPPED = 2, 'Ուղարկված'
DELIVERED = 3, 'Առաքված'
CANCELLED = 4, 'Չեղարկված'
# models.py
from django.db import models
from .choices import OrderStatus # Եթե OrderStatus-ը այլ ֆայլում է
class Order(models.Model):
status = models.IntegerField(
choices=OrderStatus.choices,
default=OrderStatus.PENDING,
)
created_at = models.DateTimeField(auto_now_add=True)
# Կոդում
order = Order.objects.create(status=OrderStatus.PROCESSING)
if order.status == OrderStatus.DELIVERED:
print("Պատվերը առաքված է")