मुझे Django मॉडल के क्षेत्र में एक यूएस $ डॉलर की राशि स्टोर करने की आवश्यकता है। उपयोग करने के लिए सबसे अच्छा मॉडल फ़ील्ड प्रकार क्या है? मुझे उपयोगकर्ता को यह मान दर्ज करने में सक्षम होना चाहिए (त्रुटि जांच के साथ, केवल सेंट के लिए सटीक संख्या चाहिए), इसे विभिन्न स्थानों पर उपयोगकर्ताओं के आउटपुट के लिए प्रारूपित करें, और अन्य नंबरों की गणना करने के लिए इसका उपयोग करें।अमेरिकी डॉलर की राशि का प्रतिनिधित्व करने के लिए उपयोग करने के लिए सबसे अच्छा डीजेंगो मॉडल फ़ील्ड क्या है?
उत्तर
ए decimal field मुद्रा मूल्य के लिए सही विकल्प है।
यह कुछ ऐसी दिखाई देगी:
credit = models.DecimalField(max_digits=6, decimal_places=2)
field = models.DecimalField(max_digits=8, decimal_places=2)
ध्यान दें कि max_digits होना चाहिए> = decimal_places। इस उदाहरण स्थापित करने के लिए ऊपर एक मूल्य की अनुमति होगी: 999,999.99
डॉक्स: https://docs.djangoproject.com/en/1.10/ref/models/fields/#decimalfield
एक दशमलव परिभाषित करें और मूल्य के सामने एक $ साइन लौट आते हैं।
price = models.DecimalField(max_digits=8, decimal_places=2)
@property
def price(self):
return "$%s" % self.price
आपको एहसास है कि आप बस अपनी संपत्ति में एक अनंत रिकर्सन लूप बनाया, है ना? –
field = models.DecimalField(max_digits=8, decimal_places=2)
तरह PostgreSQL के लिए एक क्षेत्र बनाना चाहिए:
"field" numeric(8, 2) NOT NULL
PostgreSQL संग्रहीत अमेरिकी डॉलर राशि के लिए सबसे अच्छा तरीका है कौन सा।
field = models.FloatField()
अन्य उत्तर 100% सही हैं, लेकिन बहुत ही व्यावहारिक आप अभी भी होगा के रूप में नहीं कर रहे हैं:
आप एक PostgreSQL फ़ील्ड प्रकार "डबल परिशुद्धता" की जरूरत है, तो आप Django मॉडल में क्या जरूरत है मैन्युअल रूप से उत्पादन के प्रबंधन के लिए, स्वरूपण आदि
मैं django-money उपयोग करने का सुझाव होगा:
from djmoney.models.fields import MoneyField
from django.db import models
def SomeModel(models.Model):
some_currency = MoneyField(
decimal_places=2,
default=0,
default_currency='USD',
max_digits=11,
)
खाके से
वर्क्स स्वचालित रूप से:
{{ somemodel.some_currency }}
आउटपुट:
$123.00
यह अजगर-पैसे के माध्यम से एक शक्तिशाली बैकएंड है और यह अनिवार्य रूप से मानक दशमलव क्षेत्रों के लिए एक ड्रॉप में प्रतिस्थापन है।
* (त्रुटि जांच के साथ, केवल सेंट के लिए सटीक संख्या चाहिए), इसे विभिन्न स्थानों पर उपयोगकर्ताओं के आउटपुट के लिए प्रारूपित करें, और अन्य नंबरों की गणना करने के लिए इसका उपयोग करें। * ऐसे मामलों के लिए, 'डेसिमलफ़िल्ल्ड' का उपयोग अधिक व्यावहारिक है। और मेरा मानना है कि यह ज्यादातर लोगों के लिए लागू होता है। जैसा कि उन्होंने हाइलाइट किया था, 'django-money' का उपयोग करके, ** मुद्रा ** हैंडलिंग शामिल करें।तो यह ईकॉमर्स साइट्स, पेमेंट गेटवे, डिजिटल मुद्रा, बैंकिंग इत्यादि जैसे लेनदेन से जुड़े परियोजना के लिए अधिक है .... – Yeo
मैं तर्क दूंगा कि चूंकि वे यूएसडी के साथ काम कर रहे हैं - एक मुद्रा - यह अधिक समझ में आता है एक मुद्रा-हैंडलिंग लाइब्रेरी का उपयोग करें जैसे डीजेंगो-मनी (पायथन-मनी) क्योंकि यह सब कुछ काम करता है जैसा कि आप उम्मीद करते हैं और भावी फीचर समायोजन प्रदान करता है। मूल प्रश्न कहता है कि उन्हें फ़ॉर्मेटिंग और गणना की आवश्यकता है (जैसा कि आपने उद्धृत किया है) और इसके लिए आप एक साधारण दशमलव फ़ील्ड के बजाय मुद्रा लाइब्रेरी का उपयोग करना बेहतर कर रहे हैं। –
- 1. ऐप इंजन एनडीबी मॉडल के लिए key_name निर्दिष्ट करने का सबसे अच्छा तरीका क्या है?
- 2. पूर्णांक फ़ील्ड टाइप करने के लिए पूर्णांक फ़ील्ड टाइप का उपयोग करने के लिए क्या है?
- 3. यूआरएल में रिक्त स्थान का प्रतिनिधित्व करने के लिए सबसे अच्छा चरित्र क्या है?
- 4. मुद्रा इनपुट मान्य करने के लिए सबसे अच्छा तरीका है?
- 5. जावा एनम दस्तावेज करने के लिए जावाडॉक का उपयोग करने का सबसे अच्छा तरीका क्या है?
- 6. कैसंद्रा का उपयोग करने के लिए जावा के लिए सबसे अच्छा एपीआई/लाइब्रेरी क्या है?
- 7. स्क्रैच से .pdf बनाने के लिए उपयोग करने के लिए सबसे अच्छा पर्ल मॉड्यूल क्या है?
- 8. यूटीसी ऑफसेट का प्रतिनिधित्व करने के लिए स्वरूपित स्ट्रिंग प्राप्त करने का सबसे अच्छा तरीका क्या है?
- 9. सबसे अच्छा तरीका करने के लिए
- 10. AppEngine मॉडल Memcaching करने का सबसे अच्छा तरीका क्या है?
- 11. स्वत: पूर्णता परिदृश्य के लिए भाषा टोकन का प्रतिनिधित्व करने का सबसे अच्छा तरीका
- 12. अंक के सेट के लिए हैशकोड की गणना करने का सबसे अच्छा तरीका क्या है?
- 13. स्थान की निगरानी करने के लिए सबसे अच्छा तरीका
- 14. का उपयोग करने के लिए सबसे अच्छा * mysql में बहुत से फ़ील्ड को कॉल करते समय?
- 15. क्या टाइमस्पेन के साथ दशकों का प्रतिनिधित्व करने का यह सबसे अच्छा तरीका है?
- 16. वेब परियोजनाओं के साथ एसओएलआर का उपयोग करने के लिए सबसे अच्छा तरीका क्या है?
- 17. जावा - डॉलर की राशि के रूप में डबल मान प्रारूप
- 18. विरासत कक्षाओं के भीतर लॉक का उपयोग करने के लिए सबसे अच्छा अभ्यास क्या है
- 19. जावा ऐप में पैसे के लिए उपयोग करने के लिए सबसे अच्छा डेटा प्रकार क्या है?
- 20. आगे के उपयोग के लिए सुरक्षित जानकारी स्टोर करने का सबसे अच्छा तरीका क्या है?
- 21. आईओएस पर पीडीएफ इंटरैक्टिव फॉर्म फ़ील्ड को संशोधित करने के लिए सबसे अच्छा तरीका क्या है?
- 22. वस्तुओं में प्राथमिकताओं/वरीयताओं का प्रतिनिधित्व करने का सबसे अच्छा तरीका क्या है?
- 23. सहयोगियों के लिए गिट रेपो का उपयोग करने का सबसे अच्छा तरीका क्या है?
- 24. सेंट्स का प्रतिनिधित्व करने वाले एक पूर्णांक को एक फ्लोट प्रतिनिधित्व करने वाले डॉलर में परिवर्तित करने के लिए पाइथन स्ट्रिंग स्वरूपण का उपयोग कैसे करें?
- 25. आंशिक राशि कैप्चर करने के लिए
- 26. एक किंवदंती या आरेख के लिए कुंजी का प्रतिनिधित्व करने के लिए एक अच्छा आइकन क्या है?
- 27. PHP के लिए ओआरएम ढांचे का उपयोग करने के लिए सबसे आसान क्या है?
- 28. अजगर कॉमा निकालें डॉलर की राशि
- 29. ईसी 2 उपलब्धता क्षेत्र का उपयोग करने के लिए सबसे अच्छा अभ्यास क्या है?
- 30. मेलिंग के लिए सर्वश्रेष्ठ WYSIWYG संपादक (या मेलिंग के लिए उपयोग करने का सबसे अच्छा तरीका)
जब तक आप राष्ट्रीय ऋण का प्रतिनिधित्व नहीं करना चाहते हैं, तो उस स्थिति में अधिकतम_डिजिट होना चाहिए> 20 –
दशमलव_प्लेस = 2 आवश्यक नहीं है यदि आपको अन्य मुद्राओं का समर्थन करने के लिए इसकी आवश्यकता हो। कुछ मुद्राओं में तीन दशमलव स्थान होते हैं, और बिटकॉइन में एक हूपिंग 8. –
मुझे लगता है कि यह उदाहरण लगभग सभी मुद्राओं के लिए सही है। बिटकॉइन के रूप में मुद्राओं का प्रतिनिधित्व करने के लिए, मुझे लगता है कि सतोशिस में राशि को बचाने के लिए एक पूर्णांक क्षेत्र का उपयोग करना बेहतर होता है, और उसके बाद इसे प्रस्तुत करने वाले अंतिम उपयोगकर्ता को दिखाएं (बीटीसी, एमबीटीसी, आदि) – jion