Я использую Django и две базы данных, а именно NDB и SQlite для различных целей. Я прошел тестирование по темам в django, они говорят создать базу данных в тесте и вызвать представление / функцию для этого объекта.
Мой сценарий другой. У меня есть логика базы данных, сидящая в моей функции / представлении для проверки. Поэтому я не могу создать тестовую базу данных и тестовую тестовую функцию.
Мой взгляд
class NewsFeedViewSet(viewsets.ViewSet):
lookup_field = 'username'
def retrieve(self, request , username=None):
user_and_followers_list=[]
posts_list = []
post_dict = {}
ancestor_key = ndb.Key(Follow, username)
user_followers = Follow.query_followers(ancestor_key)
for followers in user_followers:
user_and_followers_list.append(str(followers.following))
user_and_followers_list.append(str(username))
posts = Post.query(Post.owner.IN(user_and_followers_list), Post.date < time_stamp).fetch(100)
for p in posts:
post_dict = p.to_dict()
posts_list.append(post_dict)
users = User.objects.filter(username__in=user_and_followers_list)
for post in posts_list:
user = users.get(username=post['owner'])
serializer = UserSerializer(user)
post['user'] = serializer.data
posts_list = sorted(posts_list, key=lambda k: k['date'], reverse=True)
global time_stamp
if len(posts_list) > 0:
time_stamp = posts_list[len(posts_list)-1]['date']
return Response(posts_list)
Есть ли какой-нибудь способ попасть в мою производственную базу данных и запустить мой сервер во время тестирования? Или любой другой и эффективный подход, с которым я мог бы пойти?