I have these models, generated from inspectdb:
class Maps(models.Model):
map_name = models.TextField()
map_type = models.TextField() # This field type is a guess.
map_code = models.CharField(primary_key=True, max_length=6)
desc = models.TextField()
official = models.BooleanField()
image = models.TextField(blank=True, null=True)
class Meta:
managed = False
db_table = 'maps'
class MapCreators(models.Model):
map_code = models.OneToOneField('Maps', models.DO_NOTHING, db_column='map_code', primary_key=True)
user = models.ForeignKey('Users', models.DO_NOTHING)
class Meta:
managed = False
db_table = 'map_creators'
unique_together = (('map_code', 'user'),)
A Map can have multiple creators, so if I do:
x = Maps.objects.all()
# x[0] has one map creator associated with it
# x[1] has more than one map creator associated with it
x[0].mapcreators
# <MapCreators: MapCreators object (1ZYAM)>
x[1].mapcreators
# This results in an error
Traceback (most recent call last):
File "E:\Coding\Parkour\doompk\.venv\Lib\site-packages\django\db\models\fields\related_descriptors.py", line 506, in __get__
rel_obj = self.related.get_cached_value(instance)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\Coding\Parkour\doompk\.venv\Lib\site-packages\django\db\models\fields\mixins.py", line 15, in get_cached_value
return instance._state.fields_cache[cache_name]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: 'mapcreators'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "E:\Coding\Parkour\doompk\.venv\Lib\site-packages\django\db\models\fields\related_descriptors.py", line 514, in __get__
rel_obj = self.get_queryset(instance=instance).get(**filter_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\Coding\Parkour\doompk\.venv\Lib\site-packages\django\db\models\query.py", line 652, in get
raise self.model.MultipleObjectsReturned(
mapsearch.models.MapCreators.MultipleObjectsReturned: get() returned more than one MapCreators -- it returned 2!
How do I resolve this issue?