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

Django डेटटाइम फ़ील्ड टाइमज़ोन के बिना टाइमस्टैम्प फ़ील्ड उत्पन्न करने के लिए

Django मानचित्र में पोस्टग्रेज़ के लिए डेटा प्रकार स्ट्रिंग शाब्दिक timestamp with time zone , और उस प्रकार को बदलने का कोई विकल्प प्रतीत नहीं होता है।

जहां तक ​​मेरी जानकारी है, आपके पास तीन विकल्प हैं:

  1. कच्चे निष्पादन के लिए Django के हुक का लाभ उठाएं टेबल स्टेटमेंट बनाने के बाद sql . ऐसा करने के लिए sql . नामक निर्देशिका बनाएं आपके ऐप में और उस निर्देशिका में एक फ़ाइल जिसे mymodel.postgres_psycopg2.sql कहा जाता है . अपना परिवर्तन तालिका विवरण वहां रखें।

  2. टाइमस्टैम्प फ़ील्ड के लिए संशोधक को परिभाषित करने के लिए एक कस्टम फ़ील्ड लिखें जैसा कि आप फिट देखते हैं। देखें "कस्टम मॉडल फ़ील्ड लिखना ".

  3. django फ़ील्ड को वैसे ही छोड़ दें, और अपने एप्लिकेशन में टाइमज़ोन रूपांतरण करें ताकि आप पूरी तरह सुनिश्चित हों कि आप सही समय व्यतीत कर रहे हैं।

डेटा अखंडता के लिए मेरी व्यक्तिगत प्राथमिकता #3 है। जैसा कि चरित्र एन्कोडिंग के साथ होता है, जहां आप हमेशा यह सुनिश्चित करना चाहते हैं कि आप वर्णमाला को जानते हैं और रूपांतरणों को ठीक से संभाल रहे हैं, मैं उन तिथियों/समयों के साथ अधिक सहज महसूस करता हूं जिनकी विशेषताओं (टीजेड समेत) को सटीक रूप से परिभाषित किया जा सकता है। आप आज निश्चित हो सकते हैं कि आपका सारा इनपुट आपके ऐप में पहले से ही यूटीसी में आ रहा है, लेकिन यह बदल सकता है, खासकर अगर टाइमस्टैम्प की आपूर्ति अंतिम उपयोगकर्ताओं द्वारा की जाती है। इसके लायक क्या है, मैं अतिरिक्त मील जाऊंगा, ऐप में टाइमस्टैम्प को यूटीसी में परिवर्तित करूंगा, और इसे डीबी में यूटीसी के साथ समय क्षेत्र के रूप में संग्रहीत करूंगा।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रेल में माइग्रेशन में एसक्यूएल कैसे लिखें

  2. Ubuntu 20.04 पर PostgreSQL स्थापित करें

  3. स्प्रिंग जेपीए + पोस्टग्रेस्क्ल में स्कीमा के बीच डेटा स्रोत को गतिशील रूप से स्विच करें

  4. पिछले महीने के मानों के साथ परिणाम में लापता महीना जोड़ें

  5. PostgreSQL 8.4 में मौजूदा *.sql फ़ाइलों को कैसे आयात करें?