2010-02-11 16 views
24

प्रकार मॉडल का एक क्षेत्र हो सकता है। PositiveIntegerField में 0 मान होता है? मैं कुछ ऐसा कर रहा हूँ:0 Django PositiveIntegerField में 0 मूल्य?

points = models.PositiveIntegerField(default=0) 

धन्यवाद,

मैं जानता हूँ कि मैं अपने आप को ir की कोशिश करनी चाहिए, लेकिन मैं एक Django वातावरण यहाँ नहीं है।

उत्तर

26

हाँ, यह कर सकता है। यह बहस योग्य है कि क्या यह होना चाहिए - एक लंबी बग रिपोर्ट है: http://code.djangoproject.com/ticket/7609

5

हां।

model field reference ऐसा कहता है। पूर्णता के लिए, भी यहाँ उद्धृत किया:

PositiveIntegerField

class PositiveIntegerField([**options]) 

एक IntegerField की तरह, लेकिन या तो सकारात्मक या होना चाहिए शून्य (0)। पिछला संगतता कारणों के लिए मान 0 स्वीकार किया जाता है।

1

0 को बाहर करने के लिए देख रहे लोगों के लिए, validator लिखना आसान है।

def validate_nonzero(value): 
    if value == 0: 
     raise ValidationError(
      _('Quantity %(value)s is not allowed'), 
      params={'value': value}, 
     ) 

और उसके बाद के रूप में ऐसी

fill_qty = models.PositiveIntegerField(
    default=0, 
    validators=[MaxValueValidator(1000000), validate_nonzero] 
) 
+0

FYI स्वीकार कर सकता है: यह केवल मॉडलफॉर्म सेव के माध्यम से काम करता है। – Babu

+0

आप क्या कहते हैं? – shadi

+1

मेरा व्यक्तिगत अनुभव हो सकता है। और इसके साथ दस्तावेज़ों पर कहा गया, https://docs.djangoproject.com/en/1.11/ref/validators/#how-validators-are-run मैं दुनिया के किसी भी हिस्से में जा सकता हूं और इसे ज़ोर से चिल्ला सकता हूं। :) – Babu

0

इसका इस्तेमाल अच्छी तरह से एक सकारात्मक पूर्णांक की परिभाषा के द्वारा, यह एक शून्य मान स्वीकार नहीं करना चाहिए, लेकिन Django वास्तव में नकारात्मक कोई भी के अर्थ में यह मानता है संख्या जो शून्य समावेशी है। तो, हां यह शून्य मान

संबंधित मुद्दे