मेरे पास एक बीस बाइट हेक्स हैश है जिसे मैं एक डीजेंगो मॉडल में स्टोर करना चाहता हूं। यदि मैं एक टेक्स्ट फ़ील्ड का उपयोग करता हूं, तो इसे यूनिकोड के रूप में व्याख्या किया जाता है और यह वापस गड़बड़ हो जाता है।एक Django मॉडल फ़ील्ड में एक बाइनरी हैश मान संग्रहीत
वर्तमान में मैं इसे एन्कोड कर रहा हूं और इसे डीकोड कर रहा हूं, जो वास्तव में कोड को बंद कर देता है, क्योंकि मुझे इसके द्वारा फ़िल्टर करने में सक्षम होना चाहिए।
def get_changeset(self):
return bin(self._changeset)
def set_changeset(self, value):
self._changeset = hex(value)
changeset = property(get_changeset, set_changeset)
यहाँ छानने के लिए एक उदाहरण है
Change.objects.get(_changeset=hex(ctx.node()))
यह दृष्टिकोण है कि एक Django डेवलपर द्वारा सिफारिश की गई थी, लेकिन मैं वास्तव में तथ्य यह है कि यह करने के लिए इस बदसूरत है शर्तों के साथ संबंध के लिए संघर्ष कर रहा हूँ बस बीस बाइट स्टोर करें।
शायद मैं एक शुद्धतावादी का बहुत अधिक है, लेकिन आदर्श मैं
Change.objects.get(changeset=ctx.node())
लिखने के गुण मुझे लिखने की अनुमति में सक्षम हो जाएगा:
change.changeset = ctx.node()
ताकि के रूप में मैं कर सकते हैं अच्छा है पूछना।
एनबी। इस जवाब के बावजूद चार साल की उम्र के बावजूद, बाइनरीफाल्ड Django (1.5) की नवीनतम रिलीज में नहीं है, लेकिन वर्तमान विकास संस्करण में है। –