إنشاء نموذج Django لقاعدة البيانات الحالية / عرض SQL؟

StackOverflow https://stackoverflow.com/questions/2245956

  •  20-09-2019
  •  | 
  •  

سؤال

لقد قمت بإدراج تعريف لإطلالة على ملف Template_Dir / SQL / SQL / $ SoftwaySablEname.sql. (إنشاء أو استبدال العرض) لذلك في كل مرة أركض syncdb, ، يتم إنشاء طرق عرض DB.

هل يمكنني إنشاء في Models.py فئة Python التي تصل إلى طريقة العرض؟

هل من الأفضل ممارسة فقط استخدام وظائف SQL الخام في بيثون بدلا من ذلك؟

---تعديل---

مشكلة أخرى لدي هي أن العرض ليس لديه مفتاح أساسي، ولكن يبدو أن Django يفترض أنه سيكون هناك واحد لأنني أحصل على خطأ caught an exception while rendering: (1054, "Unknown column 'appName_currentleagues.id' in 'field list'") ولكن ليس لدي مثل هذا العضو المحدد:

Class CurrentLeagues(models.Model):
        League = models.ForeignKey(League)
        class Meta:
                managed = False

لذلك تخميني هو أن Django يرى بشكل معقول أنني لا أعرف مفتاح أساسي في فئة جيركسألز، لذلك يفترض django هناك واحد يسمى id. وبعد هل هناك طريقة لإخبار Django أنه لا يوجد مفتاح أساسي (لأن هذا هو في الواقع عرض)، أم أنه ليس مشكلتي حتى؟

هل كانت مفيدة؟

المحلول

يرى النماذج غير المدارة

تحدد النموذج كالمعتاد وإضافة managed = False إلى خيارات التعريف:

class MyModel(models.Model):
    ...
    class Meta:
         managed = False

نصائح أخرى

حاول استخدام Python Proview.py InspectDB أو Python Manage.py InspectDB> Models.py

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top