अद्यतन 2017/03/15:
मैं इस पर एक Django मुद्दा खोला है और यह प्रारंभिक यहाँ स्वीकार किए जाते हैं हो रहा है: https://code.djangoproject.com/ticket/27825
मेरा अनुभव यह है कि जब Constructor
(ORM
) का उपयोग Django 1.10.5
के संदर्भों से कक्षा में डेटा में कुछ असंगतता हो सकती है (यानी बनाए गए ऑब्जेक्ट के गुण ORM ऑब्जेक्ट प्रॉपर्टी के जाली प्रकार के बजाय इनपुट डेटा का प्रकार प्राप्त कर सकते हैं) उदाहरण:
models
class Payment(models.Model):
amount_cash = models.DecimalField()
some_test.py
- object.create
Class SomeTestCase:
def generate_orm_obj(self, _constructor, base_data=None, modifiers=None):
objs = []
if not base_data:
base_data = {'amount_case': 123.00}
for modifier in modifiers:
actual_data = deepcopy(base_data)
actual_data.update(modifier)
# Hacky fix,
_obj = _constructor.objects.create(**actual_data)
print(type(_obj.amount_cash)) # Decimal
assert created
objs.append(_obj)
return objs
some_test.py
- Constructor()
Class SomeTestCase:
def generate_orm_obj(self, _constructor, base_data=None, modifiers=None):
objs = []
if not base_data:
base_data = {'amount_case': 123.00}
for modifier in modifiers:
actual_data = deepcopy(base_data)
actual_data.update(modifier)
# Hacky fix,
_obj = _constructor(**actual_data)
print(type(_obj.amount_cash)) # Float
assert created
objs.append(_obj)
return objs
स्रोत
2017-02-09 15:46:47
हाँ, कि अंतर है –