I've created a population script to test my website - please see below - but I 
get the following error message: django.contrib.auth.models.DoesNotExist: User 
matching query does not exist.

Given that I've created a hypothetical user, I'm not sure why this is?

Any suggestions would much appreciated.

Thank you.

Jeff

EDIT : I have done both makemigrations and migrate.

import os
import django

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mynowandthen.settings')
django.setup()

from django.contrib.auth.models import User
from nowandthen.models import Picture, Comment, UserProfile

def populate():
    banana_user = [{'username': 'Banana','email': 'ban...@cat.com', 
        'password': 'Banana1234'},]
    johann_user = [{'username': 'Banana', 'email': 'ban...@cat.com', 
        'password': 'Banana1234'},]
    wmffre_user = [{'username': 'Wmffre', 'email': 'wmf...@cat.com', 
        'password': 'Wmffre1234'},]


    maryhill_comments = [{'user': banana_user,
        'body': 'wowo I love this photo - reminds me of when I used to live 
there!'},
        {'user': johann_user,'body': 'I love Maryhill - its such a pretty part 
of Glasgow lol'},
        {'user': wmffre_user,'body': 'gonnae no dae that lol', 'user_id': 3}]

    fireworks_comments = [{'user': banana_user,'body': 'amazing fireworks - 
thanks for sharing :)'},
        {'user': johann_user,'body': 'love fireworks, love this, love YOU!'},
        {'user': wmffre_user,'body': 'whoop!'}]

    cityscape_comments = [{'user': banana_user,'body': 'more pics like this one 
please!!'},
        {'user': johann_user,'body': 'what a sucky picture hahahaaaa'},
        {'user': wmffre_user,'body': 'great - love it!'}]

    pics = {'Maryhill': {'comments': maryhill_comments,
                     'image': 
'shared_pics/View-from-kitchen-window-of-Maryhill-tenements.1970.jpg',
                     'title': 'Maryhill Laundry',
                     'description': 'back view',
                     'tag_one': 'Maryhill',
                     'tag_two': 'Laundry',
                     'era': '1970s',
                     'likes': 64},
        'Fireworks': {'comments': fireworks_comments,
                      'image': 'shared_pics/fireworks.jpg',
                      'title': 'Glasgow Fireworks',
                      'description': 'Fireworks at Glasgow Green',
                      'tag_one': 'Glasgow',
                      'tag_two': 'Fireworks',
                      'era': '2010s',
                      'likes': 32},
        'Cityscape': {'comments': cityscape_comments,
                      'image': 'shared_pics/glasgow_cityscape_copy.jpg',
                      'title': 'Glasgow Cityscape',
                      'descrpition': 'View over Glasgow',
                      'tag_one': 'Cityscape',
                      'tag_two': 'Glasgow',
                      'era': '1990s',
                      'likes': 16}}

    for pic, pic_data in pics.items():
        p = add_picture(pic,
            pic_data['image'],
            pic_data['title'],
            pic_data['description'],
            pic_data['tag_one'],
            pic_data['tag_two'],
            pic_data['era'])
        for c in pic_data['comments']:
            add_comment(c[0], c[1])

    for p in Picture.objects.all():
        for c in Comment.objects.filter(picture=p):
            print(f' - {p}: {c}')


def add_user(name, email, password):
    u = User.objects.get_or_create(username=name, first_name='Test', 
last_name='User', email=email)[0]
    u.set_password(password)
    up = UserProfile.objects.get_or_create(user=u)[0]
    u.save()
    return up


def add_picture(image, title, description, tag_one, tag_two, era, likes=0):
    p = Picture.objects.get_or_create(image=image, title=title)[0]
    p.description = description
    p.tag_one = tag_one
    p.tag_two = tag_two
    p.era = era
    p.like = likes
    p.save()
    return p


def add_comment(user, body):
    u = User.objects.get(username=user)
    up = UserProfile.objects.get(user=u)
    c = Comment.objects.get_or_create(user=up, body=body)[0]
    c.save()
    return c


if __name__ == '__main__':
    print('Starting Now And Then population script...')
    populate()

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/d5bfae89-4351-4760-9539-923c1b398a13%40googlegroups.com.

Reply via email to