Я решил использовать системную модель django вместо того, чтобы кодировать необработанный SQL для взаимодействия с моей базой данных, но у меня есть проблема, которую можно избежать.Почему моя база данных базы данных django настолько медленная и часто не работает?
Мой models.py содержит:
class Student(models.Model):
student_id = models.IntegerField(unique = True)
form = models.CharField(max_length = 10)
preferred = models.CharField(max_length = 70)
surname = models.CharField(max_length = 70)
и я заселение его перекручивание через список следующим образом:
from models import Student
for id, frm, pref, sname in large_list_of_data:
s = Student(student_id = id, form = frm, preferred = pref, surname = sname)
s.save()
Я не хочу, чтобы экономить это на базы данных каждый раз, но я не знаю другого способа получить django, чтобы не забыть об этом (я бы предпочел добавить все строки, а затем сделать одну фиксацию).
Есть две проблемы с кодом в его нынешнем виде.
Это медленно - около 20 студентов обновляются каждую секунду.
Он даже не делает это через large_list_of_data, вместо этого бросает DatabaseError, говорящий «неспособный открыть файл базы данных». (Возможно, потому, что я использую sqlite3.)
Мой вопрос: как я могу остановить эти две вещи? Я предполагаю, что корень обеих проблем заключается в том, что у меня есть s.save(), но я не вижу способ легко дозировать студентов, а затем сохранять их в одной фиксации в базе данных.
Если у меня возник вопрос, я думаю, вы можете использовать django ModelForm, который является гораздо лучшим и чистым способом сохранения значений в базе данных ur. Если я напишу plz, ответьте – Prateek
@Prateek - Нет. Я не заинтересован в создании форм для добавления данных. Я автоматически заполняю базу данных из файла large_list_of_data. Отдельным вопросом является интерфейс для добавления дополнительных данных вручную. – bryn