Рейтинг:
9
Herman<T>.Instance
ААА теперь все ясно:
class result(models.Model):
userid = models.IntegerField(primary_key=True)
поле PrimaryKey не может быть пустым.
Вы можете настроить его как поле идентификации. Число для ID генерируется позже и не требуется в запросе INSERT.
Ruban Bharath
Нет сэр я не мог этого решить
я покажу вам мое содержание
Ruban Bharath
views.py
def olddata(запрос):
username = request.POST.get("имя пользователя", False)
if is_valid(имя пользователя):
data = result.objects.filter(username=имя пользователя)
возврат рендеринга(запрос, "result/index.html", {'data': данные})
еще:
имя = имя(username=имя пользователя)
имя.сохранить()
дБ = и sqlite3.подключение('дБ.и sqlite3')
курсор = db.cursor()
курсор.выполнить ("выбрать значение из music_sample"')
rand = курсор.fetchall()
rand_item = Рэнд[случайный.randrange(лен(Рэнд))]
курсор.выполнить('вставить в music_sample1(идентификатор,значение) значения(null,?)', rand_item)
курсор.выполнить ("вставить в music_result выберите имя пользователя,смысл, значение null
Из music_name Н присоединяйтесь к music_sample1 Т О Н. имя пользователя = имя пользователя т. "')
дБ.совершать()
для строки в result.objects.all():
если результат.объекты.фильтр(логин=ряд.имя пользователя).функция count() &ГТ; 1:
подряд.удалить()
data = result.objects.filter(username=имя пользователя)
возврат рендеринга(запрос, "result/index.html", {'data': данные})
def is_valid(имя пользователя):
Кон = и sqlite3.подключение('дБ.и sqlite3')
шавка = кон.курсор()
cur.execute('выберите имя пользователя из music_output')
данные = шавка.fetchall()
для строки в данных:
если строка[0] == имя пользователя:
вернуть true
возвращать false
тогда мои модели таковы:
образец класса(модели.Модель):
userid = модели.IntegerField(primary_key=True)
смысл = модели.CharField(max_length=300)
класс sample1(модели.Модель):
userid = модели.IntegerField(primary_key=True)
смысл = модели.CharField(max_length=300)
имя класса(модели.Модель):
userid = модели.IntegerField(primary_key=True)
имя пользователя = модели.CharField(max_length=300,)
результат класса(модели.Модель):
userid = модели.IntegerField()
смысл = модели.CharField(max_length=300)
имя пользователя = модели.CharField(max_length=300)
что не так с этим кодом теперь я получаю ошибку типа
"NOT NULL constraint failed: music_sample1.userid"
Herman<T>.Instance
таблица находится в вашей базе данных SqlLite3. Там вы должны сделать поле PK и AutoIncrement/Identity не в вашем исходном коде
Ruban Bharath
извините я не совсем ясно выразился не могли бы вы сказать мне в общих чертах Пожалуйста сэр
Herman<T>.Instance
читать этот.
Речь идет об определении первичного ключа.
2.0 целочисленный первичный ключ
Одним из исключений из типологичности SQLite является столбец, тип которого является целочисленным первичным ключом. (И вы должны использовать "INTEGER", а не "INT". Столбец типа INT PRIMARY KEY не имеет типа, как и любой другой.) Целочисленные столбцы первичного ключа должны содержать 32-разрядное целое число со знаком. Любая попытка вставить нецелые данные приведет к ошибке.
Целочисленные столбцы первичного ключа можно использовать для реализации эквивалента автоинкремента. Если вы попытаетесь вставить NULL в целочисленный столбец первичного ключа, столбец фактически будет заполнен целым числом, которое на единицу больше самого большого ключа, уже находящегося в таблице. Или если самый большой ключ равен 2147483647, то столбец будет заполнен случайным целым числом. В любом случае целочисленному столбцу первичного ключа будет присвоено уникальное целое число. Вы можете получить это целое число с помощью функции API sqlite_last_insert_rowid() или с помощью функции SQL last_insert_rowid() в последующем операторе SELECT.
Ruban Bharath
хорошо, сэр, но я ввел значение только правильно, но это делает меня ошибкой.
Herman<T>.Instance
какая ошибка?
Ruban Bharath
Я хочу получить идентификатор викторины(викторина-это таблица с полями id,qname) с передней страницы и сравнить ее с 1,2,3,4 и выполнить функцию, соответствующую условию
дБ = и sqlite3.подключение('дБ.и sqlite3')
курсор = db.cursor()
quizid = request.GET.get('quizid')
cursor.execute('SELECT quizid,qname FROM music_quiz WHERE quizid = '+quizid)
данные = курсор.fetchone()
но здесь у меня есть такая ошибка как
можно только объединить str (не "NoneType") с str
Herman<T>.Instance
это еще одна проблема, чем у вас есть в этой теме.
Какова ценность quizId? Вы отладили его?
Вы должны лучше исследовать, в чем заключается ваша проблема, вместо того чтобы спрашивать обо всем.
Ты гуглил?
Ruban Bharath
Извините сэр ,Да сэр результаты только для списка и кортежей, но не для str он показал