Ошибка переноса: «OperationalError в / admin / accounts / userstripe / нет такой таблицы: accounts_userstripe» - PullRequest
1 голос
/ 13 апреля 2020

Я пытаюсь разработать веб-сайт для интернет-магазина, и в моем аккаунте models.py у меня есть две модели. Хотя таблица для одной модели была успешно создана, таблица для моей модели UserStripe не была создана, и в ней указано:

OperationalError at /admin/accounts/userstripe/
no such table: accounts_userstripe

Что мне делать?

My models.py:

from django.db import models
from django.contrib.auth.models import User
from django.conf import settings
import stripe
from localflavor.us.us_states import US_STATES

stripe.api_key = settings.STRIPE_SECRET_KEY


class UserStripe(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete= models.CASCADE)
    stripe_id = models.CharField(max_length=120)

    def __unicode__(self):
        return str(self.stripe_id)


class UserAddress(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete= models.CASCADE)
    address = models.CharField(max_length=120)
    address2 = models.CharField(max_length=120)
    city = models.CharField(max_length=120)
    state = models.CharField(max_length=120, choices=US_STATES)
    country = models.CharField(max_length=120)
    zipcode = models.CharField(max_length=25)
    phone = models.CharField(max_length=120)
    shipping = models.BooleanField(default=True)
    billing = models.BooleanField(default=True)
    timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
    updated = models.DateTimeField(auto_now_add=False, auto_now=True)

    def __unicode__(self):
        return str(self.user.username)

Мои сигналы.py:

import stripe
from django.conf import settings
from django.contrib.auth.signals import user_logged_in
from .models import UserStripe

stripe.api_key = settings.STRIPE_SECRET_KEY


def get_or_create_stripe(sender, user, *args, **kwargs):
    try:
        user.userstripe.stripe_id
    except UserStripe.DoesNotExist:
        customer = stripe.Customer.create(
            email = str(user.email),
        )
        new_user_stripe = UserStripe.objects.create(
            user = user,
            stripe_id = customer.id,
            )
    except:
        pass


user_logged_in.connect(get_or_create_stripe)

Мои приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...