Использование Django для добавления и изменения существующей таблицы в mssql
Я пытаюсь использовать django для создания веб-страницы, которая позволяет людям регистрироваться.
мой django подключен к локальному ms sql серверу и логин правильный
моя таблица users, которая взята из BooksDataBase, имеет следующие колонки с такими кодировками:
столбец login является первичным ключом с опцией автоматического инкремента и значение всегда начинается выше 1000 и заполняется каждый раз, когда создается пользователь (нам не нужно заполнять его вручную). Моя первая проблема в том, что когда я приказываю django вернуть значение этой таблицы, он возвращает только таблицу login с другим именем:
Users.objects.all() <QuerySet [<Пользователи: Объект Пользователи (1000)>, <Пользователи: Пользователи объект (1001)>, <Пользователи: Объект Users (1002)>]> my Models.py :
class Admins(models.Model):
adminid = models.IntegerField(db_column='AdminID', primary_key=True) # Field name made lowercase.
adminlogin = models.CharField(db_column='AdminLogin', max_length=254, db_collation='SQL_Latin1_General_CP1_CI_AS', blank=True, null=True) # Field name made lowercase.
usersecret = models.CharField(max_length=254, db_collation='SQL_Latin1_General_CP1_CI_AS', blank=True, null=True)
class Meta:
db_table = 'Admins'
class Books(models.Model):
uid = models.AutoField(db_column='UID', primary_key=True) # Field name made lowercase.
bookname = models.CharField(db_column='BookName', max_length=255, db_collation='SQL_Latin1_General_CP1_CI_AS', blank=True, null=True) # Field name made lowercase.
author = models.CharField(db_column='Author', max_length=255, db_collation='SQL_Latin1_General_CP1_CI_AS', blank=True, null=True) # Field name made lowercase.
category = models.CharField(db_column='Category', max_length=255, db_collation='SQL_Latin1_General_CP1_CI_AS', blank=True, null=True) # Field name made lowercase.
qty = models.CharField(db_column='QTY', max_length=255, db_collation='SQL_Latin1_General_CP1_CI_AS', blank=True, null=True) # Field name made lowercase.
price = models.CharField(db_column='Price', max_length=255, db_collation='SQL_Latin1_General_CP1_CI_AS', blank=True, null=True) # Field name made lowercase.
class Meta:
db_table = 'Books'
class Users(models.Model):
login = models.AutoField(db_column='Login', primary_key=True) # Field name made lowercase.
pass_field = models.CharField(db_column='Pass', max_length=255, db_collation='SQL_Latin1_General_CP1_CI_AS', blank=True, null=True) # Field name made lowercase. Field renamed because it was a Python reserved word.
firstname = models.CharField(db_column='FirstName', max_length=255, db_collation='SQL_Latin1_General_CP1_CI_AS', blank=True, null=True) # Field name made lowercase.
lastname = models.CharField(db_column='LastName', max_length=255, db_collation='SQL_Latin1_General_CP1_CI_AS', blank=True, null=True) # Field name made lowercase.
city = models.CharField(db_column='City', max_length=255, db_collation='SQL_Latin1_General_CP1_CI_AS', blank=True, null=True) # Field name made lowercase.
nationalcode = models.CharField(db_column='NationalCode', max_length=255, db_collation='SQL_Latin1_General_CP1_CI_AS', blank=True, null=True) # Field name made lowercase.
addr = models.CharField(db_column='Addr', max_length=300, db_collation='SQL_Latin1_General_CP1_CI_AS', blank=True, null=True) # Field name made lowercase.
class Meta:
db_table = 'users'
перед этим я проверил бд и сохранил результат в файл models.py и вставил в него нужный путь
затем я сделал python manage.py makemigrations и затем python manage.py migrate --fake-initial
все было в порядке согласно логам, но когда я хочу вставить новых пользователей для просмотра существующих, у меня возникают такие проблемы:
при просмотре я вижу только Логин с другим именем
при добавлении я получаю ошибку, что я вставил неожиданное значение
user = Users(Login='1003',FirstName='Ali',LastName='Ali Zadeh', City='Ali Abad')
Я использовал приведенный выше код для добавления нового пользователя (также столбец Login не должен быть включен, но я все равно попытался).
Итак, чтобы подытожить вышеописанную ситуацию: есть веб-страница для входа в систему, и django должен передать некоторые значения в базу данных и вернуть значение логина пользователю (веб-страница еще не существует, я тестирую это перед созданием шаблона), и проблема в том, что он не возвращает то, что я хочу, и не может вставить новые значения в базу данных так, как я хочу (заполнение имени пароля и всего остального, но не значение логина, поскольку оно будет автоматически заполнено самим sql-сервером)
Есть способы исправить это?