केस का उपयोग करें: 0.0 को डिफ़ॉल्ट मान के रूप में संग्रहीत करना चाहते हैं जबकि pewee के DoubleField के लिए कोई मान पास नहीं किया गया है। मैंने निम्नलिखित कोड लिखा लेकिन मेरे लिए काम नहीं किया।

class MyRelation(peewee.Model):
    id = peewee.PrimaryKeyField()
    percentage = peewee.DoubleField(default=0.0)

यहाँ एक एपीआई है

@api_blueprint.route('/add_data', methods=['POST'])
@http_header
def add_data():
    try:
        incoming = json.loads(request.data)
        data = MyRelation(percentage=incoming["percentage"])
        data.save()

        return success_response(201,"Data has been inserted :)")

    except Exception as e:
        log(str(e))
        return raise_error(500, str(e))

जो निम्न त्रुटि लॉग करता है

10-05-17 05:24:51 Line:199  Message: Error in add_data(),views.api: (1048, "Column 'percentage' cannot be null")
2
aquaman 8 मई 2017, 13:36

1 उत्तर

सबसे बढ़िया उत्तर

अंतर केवल पायथन पक्ष पर लागू होता है - इसलिए यदि आप सर्वर से डिफ़ॉल्ट को लागू करने की अपेक्षा कर रहे हैं तो आपको एक बाधा का उपयोग करने की आवश्यकता होगी:

percentage = peewee.DoubleField(constraints=[SQL('DEFAULT 0.0')])

दस्तावेज़: http://docs.peewee- orm.com/hi/latest/peewee/models.html#default-field-values

3
coleifer 8 मई 2017, 20:46
यहाँ SQL क्या है? यहाँ यह [SQL('DEFAULT 0.0')] समझ में नहीं आ रहा है।
 – 
aquaman
9 मई 2017, 13:13
1
from peewee import SQL -- इसका उपयोग peewee के साथ SQL शाब्दिक को व्यक्त करने के लिए किया जाता है।
 – 
coleifer
9 मई 2017, 23:23
यदि निश्चित रूप से MySQL संरचना को संशोधित करता है लेकिन फिर भी यह त्रुटि फेंकता है। @coleifer
 – 
aquaman
10 मई 2017, 15:04