task: metadata: install: pip install -e .[dev]
patch: diff --git a/django_prices/models.py b/django_prices/models.py
index 48a2de5..264d179 100644
--- a/django_prices/models.py
+++ b/django_prices/models.py
@@ -2,6 +2,7 @@ import itertools
 
 from django.core import validators
 from django.db import models
+from django.db.models import Field
 from django.utils.functional import cached_property
 from prices import Money, TaxedMoney
 
@@ -94,6 +95,9 @@ class TaxedMoneyField(object):
         self.column = None
         self.primary_key = False
 
+        self.creation_counter = Field.creation_counter
+        Field.creation_counter += 1
+
     def __str__(self):
         return ('TaxedMoneyField(net_field=%s, gross_field=%s)' % (
             self.net_field, self.gross_field))
@@ -114,6 +118,16 @@ class TaxedMoneyField(object):
         setattr(instance, self.net_field, net)
         setattr(instance, self.gross_field, gross)
 
+    def __eq__(self, other):
+        if isinstance(other, (Field, TaxedMoneyField)):
+            return self.creation_counter == other.creation_counter
+        return NotImplemented
+
+    def __lt__(self, other):
+        if isinstance(other, (Field, TaxedMoneyField)):
+            return self.creation_counter < other.creation_counter
+        return NotImplemented
+
     def contribute_to_class(self, cls, name, **kwargs):
         self.attname = self.name = name
         self.model = cls
diff --git a/setup.py b/setup.py
index 46e6361..5f57b1b 100755
--- a/setup.py
+++ b/setup.py
@@ -22,7 +22,7 @@ setup(
     author_email='hello@mirumee.com',
     description='Django fields for the prices module',
     license='BSD',
-    version='1.0.0',
+    version='1.0.1',
     url='https://github.com/mirumee/django-prices',
     packages=['django_prices', 'django_prices.templatetags'],
     include_package_data=True,

problem_statement: TaxedMoneyField should be Django Field type
Right now there is:
```
class TaxedMoneyField(object):
...
```
is being used and named as a Field, so I guess it should also be type of some Django Field, not `object`.
repo: mirumee/django-prices
test_cmd: pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
test_patch: diff --git a/tests/test_prices.py b/tests/test_prices.py
index 15bb5a3..4744501 100644
--- a/tests/test_prices.py
+++ b/tests/test_prices.py
@@ -8,17 +8,15 @@ import pytest
 from django.core.exceptions import ValidationError
 from django.db import connection
 from django.utils import translation
-from prices import Money, TaxedMoney, percentage_discount
-
 from django_prices import forms, widgets
 from django_prices.models import MoneyField, TaxedMoneyField
-from django_prices.templatetags import prices
-from django_prices.templatetags import prices_i18n
+from django_prices.templatetags import prices, prices_i18n
 from django_prices.validators import (
     MaxMoneyValidator, MinMoneyValidator, MoneyPrecisionValidator)
+from prices import Money, TaxedMoney, percentage_discount
 
-from .forms import (
-    ModelForm, OptionalPriceForm, RequiredPriceForm, ValidatedPriceForm)
+from .forms import (ModelForm, OptionalPriceForm,
+                    RequiredPriceForm, ValidatedPriceForm)
 from .models import Model
 
 
@@ -110,6 +108,27 @@ def test_price_field_init():
     assert field.gross_field == 'price_gross'
 
 
+def test_compare_taxed_money_field_with_same_type_field():
+    field_1 = TaxedMoneyField(net_field='price_net', gross_field='price_gross')
+    field_2 = TaxedMoneyField(net_field='price_net', gross_field='price_gross')
+
+    # Comparision is based on creation_counter attribute
+    assert field_1 < field_2
+    field_2.creation_counter -= 1
+    assert field_1 == field_2
+
+
+def test_compare_taxed_money_field_with_django_field():
+    field_1 = TaxedMoneyField(net_field='price_net', gross_field='price_gross')
+    field_2 = MoneyField(
+        currency='BTC', default='5', max_digits=9, decimal_places=2)
+
+    # Comparision is based on creation_counter attribute
+    assert field_1 < field_2
+    field_2.creation_counter -= 1
+    assert field_1 == field_2
+
+
 @pytest.mark.parametrize("data,initial,expected_result", [
     ('5', Money(5, 'BTC'), False),
     ('5', Money(10, 'BTC'), True),