PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

SQLite काम करता है, लेकिन PostgreSQL माइग्रेट डेटाबेस ERROR का कारण बनता है - Django 3.0

यकीन नहीं है कि मैं मदद कर सकता हूं, लेकिन मेरे पास एक मैक है, Django का उपयोग करें और PostgreSQL के साथ कुछ समस्याएं थीं, इसलिए मैं अपने विचार साझा करूंगा।

सबसे पहले, मुझे ऐसा लगता है कि समस्या वास्तव में डेटाबेस के साथ संबंध है, कोड नहीं। मैंने आपकी त्रुटि को Django कोड में देखा, यह कहता है:

    def _get_response(self, request):
        """
        Resolve and call the view, then apply view, exception, and
        template_response middleware. This method is everything that happens
        inside the request/response middleware.
        """
        ...

        # Complain if the view returned None (a common error).
        if response is None:
            ...

            raise ValueError(
                "The view %s.%s didn't return an HttpResponse object. It "
                "returned None instead." % (callback.__module__, view_name)
            )

हालांकि मैं निश्चित रूप से मिडलवेयर का विशेषज्ञ नहीं हूं, जाहिर तौर पर Django आपके डेटाबेस से डेटा प्राप्त नहीं कर रहा है।

मुझे एक बार अपने मैक पर PostgreSQL के विभिन्न संस्करणों में समस्या थी। आप/लाइब्रेरी/पोस्टग्रेएसक्यूएल में जांच कर सकते हैं, मेरे पास दो निर्देशिकाएं हैं (11 और 12), इसलिए मुझे सावधान रहना होगा कि मैं अपनी परियोजनाओं के लिए किसका उपयोग करता हूं। PgAdmin में आप दोनों वर्जन देख सकते हैं। यदि आपके पास पुराने संस्करण हैं या PostgreSQL को फिर से स्थापित करना चाहते हैं (जो काफी कठोर है लेकिन आपको एक साफ शीट देगा), यहां एक अच्छा मैनुअल है:https://medium.com/@zoefhall/efficily-uninstall-and-reinstall-psql-with-homebrew- on-osx-fabbc45c5d9d . आप अपने शेल में टाइप करके अपने Django द्वारा उपयोग किए जा रहे संस्करण की जांच कर सकते हैं:

python3 manage.py shell -c "from django.db import connection; print(connection.cursor().connection.server_version)"

मेरे लिए परिणाम 110005 है, जो 11.0.5 में तब्दील हो जाता है।

मुझे कई बार psycopg2 की समस्या भी हुई। जब आप Django के साथ अपना वर्चुअल वातावरण सेट करते हैं तो इसकी स्थापना आवश्यक होती है, इसलिए यदि आपने इसे प्रबंधित किया है, तो शायद यह ठीक हो गया है। मेरे पास जो समस्या थी वह यह थी कि यह कॉन्फ़िग फ़ाइल नहीं ढूंढ सका, और मेरे लिए सबसे आसान समाधान बाइनरी संस्करण psycopg2-बाइनरी स्थापित करना था। लेकिन अगर आप अपने मैक पर PostgreSQL का एक विशिष्ट संस्करण चाहते हैं, तो आपको अपने PATH में pg_config फ़ाइल डालनी होगी, देखें https://www.psycopg.org/docs/install.html

मैंने यही सीखा है, मुझे आशा है कि यह आपकी थोड़ी मदद करेगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. psql \copy का उपयोग करके टाइमस्टैम्प कॉलम (dd.mm.yyyy hh.mm.ss) के साथ .csv आयात करना

  2. PostgreSQL में INTERSECT कैसे काम करता है

  3. लॉगबैक के साथ अतुल्यकालिक DBAppender

  4. हेरोकू समीक्षा ऐप्स:ऐप की समीक्षा करने के लिए डीबी की प्रतिलिपि बनाएँ

  5. Postgresql - मूल सरणी और array_agg