Данные Djangos не могут быть импортированы в базу данных, мой код неправильный?

Я новичок в Django, и я хотел бы задать несколько вопросов

Я использовал слой модели для создания модели с полями в ней, она может создать поле user_id, movie_id в базе данных.

class Rating(models.Model):

user_id = models.CharField(max_length=16)

movie_id = models.CharField(max_length=16)

rating = models.DecimalField(decimal_places=2, max_digits=4)

rating_timestamp = models.DateTimeField()

type = models.CharField(max_length=8, default='explicit')



def __str__(self):

return "user_id: {}, movie_id: {}, rating: {}, type: {}"\

.format(self.user_id, self.movie_id, self.rating, self.type)





class Cluster(models.Model):

cluster_id = models.IntegerField()

user_id = models.IntegerField()



def __str__(self):

return "{} in {}".format(self.user_id, self.cluster_id)

Выполните этот оператор с помощью Python xxx.py, я хочу заполнить базу данных, но это не работает

import os

import urllib.request

import django

import datetime

import decimal

from tqdm import tqdm



os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')



django.setup()



from analytics.models import Rating





def create_rating(user_id, content_id, rating, timestamp):



rating = Rating(user_id=user_id, movie_id=content_id, rating=decimal.Decimal(rating),

rating_timestamp=datetime.datetime.fromtimestamp(float(timestamp)))

rating.save()



return rating

def download_ratings():

URL = 'https://gitee.com/zhangyoushang/wokkk/blob/master/latest/ratings.dat'

response = urllib.request.urlopen(URL)

data = response.read()



print('download finished')

return data.decode('utf-8')





def delete_db():

print('truncate db')

Rating.objects.all().delete()

print('finished truncate db')





def populate():



delete_db()



ratings = download_ratings()



for rating in tqdm(ratings.split(sep="\n")):

r = rating.split(sep="::")

if len(r) == 4:

create_rating(r[0], r[1], r[2], r[3])





if __name__ == '__main__':

print("Starting MovieGeeks Population script..." )

populate()

Но я обнаружил, что моя база данных пуста и в ней нет данных.

Не сообщается об ошибке, выполните следующее: введите здесь описание изображения

Вернуться на верх