В состоянии Django docs существуют только два ограничения на имена полей модели
- Имя поля не может быть зарезервированным словом Python
- Имя поля не можетсодержать более одного подчеркивания в строке
Однако, учитывая следующий пример, не похоже, что я могу использовать имя поля check
в качестве ForeignKey.
class Check(models.Model):
name = models.CharField(max_length=100)
class MyModel(models.Model):
# this works fine
#check = models.BooleanField()
# this breaks
check = models.ForeignKey(Check, on_delete=models.PROTECT, related_name='+')
Вот ошибка:
$ python manage.py check
SystemCheckError: System check identified some issues:
ERRORS:
myapp.MyModel: (models.E020) The 'MyModel.check()' class method is currently overridden by <django.db.models.fields.related_descriptors.ForwardManyToOneDescriptor object at 0x03A818D0>
Документы не правы, или я что-то не так делаю?
Редактировать: забыл упомянуть, что этот проект использует Python 2и Джанго 1,11