الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

django : متى استخدم choices ومتى ForeignKey

بدأه phpcraft في 12 يناير 2012 · 2 رد · 745 مشاهدة · في لغة Python
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اعمل على مشروع بسيط بإستخدام الdjango

لكني في حيرة ولدي خيارين

وادري ايهما الافضل وايهما استخدم

مثلا لو كان لدي في الموقع اعلان عن سيارة

والسيارات مصنفة حسب تأريخ الصنع والشركة و ........الخ

فهل من الافضل ان اعمل model للسنة الصنع وmodel لاسم الشركة المصنعة

ام اعمل قائمة ومنها استورد تاريخ الصنع او اسم اسم الشركة

واليكم الطريقتين ويرجى التوضيح ايهما افضل ومتى تكون الافضلية لاستخدام اي منهما

كود التاريخ

  YEARS = (
        ("1990", "1990"),
        ("1991", "1991"),
        ("1992", "1992"),
    .
    .
    .
    .
        ("2013", "2013"),
     )

    class Whatever(models.Model):
        # Show a list with years
        birthdate = models.IntegerField(max_length=2, choices=YEARS)

والطريقة الثانية لكود التاريخ اعمل موديل جديد واضع فيه السنوات

class ChoiceYears(models.Model):
    type = models.CharField(max_length=60)
    def __unicode__(self):
         return '%s' % self.typeclass Adv(models.Model):
 class Adv(models.Model):
    years = models.ForeignKey(ChoiceYears)

____ وكذلك ايضا اسم الشركة ____

class ChoiceStatus(models.Model):
    type = models.CharField(max_length=60)
    def __unicode__(self):
         return '%s' % self.type
class Adv(models.Model):
    status = models.ForeignKey(ChoiceStatus)

  #الطريقة الثانية لإسم الشركة

STATUS = (
    (1, u'new'),
    (2, u'old'),
)

class Adv(models.Model):
   status = models.IntegerField(u'??????', choices=STATUS, default=1,)

مع الاخذ بعين الاعتبار اني اريد انشاء محرك بحث داخل الموقع واعمل فيه تصفية يعني البحث حسب تاريخ الصنع والشركة ونوعية المنتج

تم تعديل هذه المشاركة بواسطة phpcraft في 12 يناير 2012 في 14:30

#2

توصلت الى الافضل في هذه الحالة وهو الchoice بدل انشاء الجدول جديد

تم تعديل هذه المشاركة بواسطة phpcraft في 12 يناير 2012 في 21:39

#3

إذا الإختيارات سيتم تغييرها بإضافة وحذف (او تحكم عبر لوحة التحكم) فالأفضل إستخدام جدول خاص بها

إذا ثابتة فالأختيار المناسب هو قائمة

1
(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

مواضيع مشابهة