title: Can the Django ORM store an unsigned 64-bit integer (aka ulong64 or uint64) in a reliably backend-agnostic manner?
body: <p>All the docs I've seen imply that you <em>might</em> be able to do that, but there isn't anything official w/r/t ulong64/uint64 fields. There are a few off-the-shelf options that look quite promising in this arena:</p>
  
  <ul>
  <li><code>BigIntegerField</code> ... almost, but signed;</li>
  <li><code>PositiveIntegerField</code> ... suspiciously 32-bit-looking; and</li>
  <li><code>DecimalField</code> ... a fixed-pointer represented with a python <code>decimal</code> type, according to <a href="https://docs.djangoproject.com/en/dev/ref/models/fields/#decimalfield" rel="noreferrer">the docs</a> -- which presumably turns into an analogously pedantic and slow database field when socked away, á la the DECIMAL or NUMERIC PostgreSQL types.</li>
  </ul>
  
  <p>... all of which <em>look</em> like they <em>might</em> store a number like that. Except NONE OF THEM WILL COMMIT, much like every single rom-com character portrayed by Hugh Grant. </p>
  
  <p>My primary criterion is that it works with Django's supported backends, without any <code>if postgresql (...) elif mysql (...)</code> type of special-case nonsense. After that, there is the need for speed -- this is for a model field in an visual-database application that will index image-derived data (e.g. perceptual hashes and extracted keypoint features), allowing ordering and grouping by the content of those images.</p>
  
  <p>So: is there a good Django extension or app that furnishes some kind of <code>PositiveBigIntegerField</code> that will suit my purposes?</p>
  
  <p>And, barring that: If there is a simple and reliable way to use Django's stock ORM to store unsigned 64-bit ints, I'd like to know it. Look, I'm no binary whiz; I have to do two's complement on paper -- so if this method of yours involves some bit-shifting trickery, don't hesitate to explain what it is, even if it strikes you as obvious. Thanks in advance.</p>