diff --git a/notes/checkout_process.md b/notes/checkout_process.md index 7147da2..92d48c1 100644 --- a/notes/checkout_process.md +++ b/notes/checkout_process.md @@ -18,4 +18,9 @@ - Connecting the Billing Profile - Shipping / Billing Address - Cart - - Status -- Shipped? Cancelled? \ No newline at end of file + - Status -- Shipped? Cancelled? + + + +4. Backup Fixtures + python manage.py dumpdata products --format json --indent 4 > products/fixtures/products.json \ No newline at end of file diff --git a/src/accounts/migrations/0001_initial.py b/src/accounts/migrations/0001_initial.py index 460fed5..c5d5627 100644 --- a/src/accounts/migrations/0001_initial.py +++ b/src/accounts/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.4 on 2017-09-28 22:10 +# Generated by Django 1.11.4 on 2017-10-09 21:27 from __future__ import unicode_literals from django.db import migrations, models @@ -13,6 +13,22 @@ class Migration(migrations.Migration): ] operations = [ + migrations.CreateModel( + name='User', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('password', models.CharField(max_length=128, verbose_name='password')), + ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), + ('email', models.EmailField(max_length=255, unique=True)), + ('active', models.BooleanField(default=True)), + ('staff', models.BooleanField(default=False)), + ('admin', models.BooleanField(default=False)), + ('timestamp', models.DateTimeField(auto_now_add=True)), + ], + options={ + 'abstract': False, + }, + ), migrations.CreateModel( name='GuestEmail', fields=[ diff --git a/src/accounts/migrations/0002_customuser.py b/src/accounts/migrations/0002_customuser.py deleted file mode 100644 index b7f9f23..0000000 --- a/src/accounts/migrations/0002_customuser.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.4 on 2017-10-09 20:45 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('accounts', '0001_initial'), - ] - - operations = [ - migrations.CreateModel( - name='CustomUser', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('password', models.CharField(max_length=128, verbose_name='password')), - ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), - ], - options={ - 'abstract': False, - }, - ), - ] diff --git a/src/accounts/migrations/0003_auto_20171009_2046.py b/src/accounts/migrations/0003_auto_20171009_2046.py deleted file mode 100644 index 7a21357..0000000 --- a/src/accounts/migrations/0003_auto_20171009_2046.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.4 on 2017-10-09 20:46 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('accounts', '0002_customuser'), - ] - - operations = [ - migrations.RenameModel( - old_name='CustomUser', - new_name='User', - ), - ] diff --git a/src/accounts/migrations/0004_auto_20171009_2050.py b/src/accounts/migrations/0004_auto_20171009_2050.py deleted file mode 100644 index 1aa0f3a..0000000 --- a/src/accounts/migrations/0004_auto_20171009_2050.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.4 on 2017-10-09 20:50 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('accounts', '0003_auto_20171009_2046'), - ] - - operations = [ - migrations.AddField( - model_name='user', - name='active', - field=models.BooleanField(default=True), - ), - migrations.AddField( - model_name='user', - name='admin', - field=models.BooleanField(default=False), - ), - migrations.AddField( - model_name='user', - name='email', - field=models.EmailField(default='abc123@gmail.com', max_length=255, unique=True), - preserve_default=False, - ), - migrations.AddField( - model_name='user', - name='staff', - field=models.BooleanField(default=False), - ), - ] diff --git a/src/db.sqlite3 b/src/db.sqlite3 index 0eb7d5f..22db6f6 100644 Binary files a/src/db.sqlite3 and b/src/db.sqlite3 differ diff --git a/src/db2.sqlite3 b/src/db2.sqlite3 new file mode 100644 index 0000000..fd1b319 Binary files /dev/null and b/src/db2.sqlite3 differ diff --git a/src/ecommerce/settings.py b/src/ecommerce/settings.py index 951da20..c65b2fe 100644 --- a/src/ecommerce/settings.py +++ b/src/ecommerce/settings.py @@ -49,6 +49,8 @@ 'tags', ] +AUTH_USER_MODEL = 'accounts.User' #changes the built-in user model to ours + MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', diff --git a/src/products/fixtures/products.json b/src/products/fixtures/products.json new file mode 100644 index 0000000..1f20d84 --- /dev/null +++ b/src/products/fixtures/products.json @@ -0,0 +1,58 @@ +[ +{ + "model": "products.product", + "pk": 1, + "fields": { + "title": "T-Shirt", + "slug": "t-shirt", + "description": "This is an awesome shirt. Buy it. :)", + "price": "39.99", + "image": "", + "featured": false, + "active": true, + "timestamp": "2017-09-18T19:29:03.347Z" + } +}, +{ + "model": "products.product", + "pk": 3, + "fields": { + "title": "Hat", + "slug": "hat", + "description": "This is my awesome hat", + "price": "39.99", + "image": "products/2969889474/2969889474.jpg", + "featured": false, + "active": true, + "timestamp": "2017-09-18T19:29:03.347Z" + } +}, +{ + "model": "products.product", + "pk": 4, + "fields": { + "title": "Lorem Ipsum", + "slug": "lorem-ipsum", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed hendrerit venenatis feugiat. Proin blandit odio nec sem dignissim, ac fermentum sapien ornare. Praesent libero sem, mattis id ultricies eu, convallis ac ligula. Nulla porta ornare felis, ac elementum ante dapibus eu. Proin vitae vulputate sapien. Integer interdum dolor ante, in imperdiet est elementum molestie. In eu dui placerat, egestas diam ac, ultrices dui. Vivamus tincidunt, dui faucibus feugiat eleifend, eros sapien mollis metus, finibus gravida arcu sapien eu libero. Donec a ipsum rutrum, fringilla metus eu, sodales nisl. Vivamus eu condimentum sapien, sit amet malesuada nibh. Phasellus blandit, elit ullamcorper facilisis pulvinar, leo nunc congue augue, mollis efficitur eros turpis quis leo.\r\n\r\nMauris rutrum nunc vel libero porta, ut feugiat turpis rhoncus. Vestibulum vel mauris mi. Ut vitae dolor a neque commodo tincidunt semper id augue. Proin vehicula ex justo, vitae aliquet ligula cursus luctus. Vivamus a euismod lorem. Ut lacinia commodo faucibus. Proin malesuada rutrum porttitor. Quisque ac enim quis dui sollicitudin laoreet. Vivamus velit dui, accumsan eget egestas a, pharetra a nibh. Suspendisse ornare nunc quis euismod commodo. Morbi fringilla mauris nec eros placerat tempor. Ut facilisis consectetur lorem, sed imperdiet nulla tristique ac. Duis tristique id odio ut ornare.\r\n\r\nAliquam dui orci, pulvinar sit amet nisi at, blandit ullamcorper libero. Maecenas pharetra diam quis eros mattis, eu rhoncus augue efficitur. Sed cursus nulla ut dolor molestie consectetur. Praesent faucibus dignissim pulvinar. Nulla hendrerit risus in mattis ultricies. Quisque vitae lacinia tellus, ut finibus metus. Donec velit enim, pretium vitae ante blandit, tempus auctor mauris. Donec mattis metus et nisi ullamcorper, non posuere sapien tincidunt. Phasellus molestie pharetra augue. Quisque eget arcu magna. Aliquam mollis tortor tellus, vitae tempus lectus aliquet non. Sed vulputate dolor elit, ac semper velit auctor ac.\r\n\r\nMauris laoreet libero libero, sed sodales turpis euismod et. Maecenas vehicula egestas diam, quis volutpat metus cursus id. Nunc faucibus convallis hendrerit. Integer porttitor elit nec magna dapibus, ac tempus neque lacinia. Donec vel purus quis sem viverra gravida. Maecenas gravida tempor odio, vitae aliquet est facilisis vel. Nam sodales, elit ut ornare iaculis, ipsum orci aliquet tellus, eget consequat enim felis auctor leo. Quisque a mi mauris. Duis euismod justo ut ipsum tincidunt tincidunt. Aliquam erat volutpat. Sed vitae auctor enim, mattis laoreet arcu. Ut finibus sit amet velit vulputate pellentesque. Mauris non facilisis arcu, vel ultrices leo. Etiam fermentum urna vitae eros fermentum, vitae tincidunt arcu tristique.\r\n\r\nAliquam luctus eu massa nec condimentum. Pellentesque augue eros, lacinia at tortor non, feugiat convallis nisi. Morbi volutpat sagittis sapien ut sollicitudin. Nulla iaculis rhoncus neque eget varius. Donec commodo ultricies blandit. Quisque turpis dui, tincidunt in eros eu, sagittis luctus risus. Suspendisse molestie sapien placerat velit laoreet, non consequat mauris eleifend. Cras condimentum fermentum lorem. Donec laoreet neque nibh, ut imperdiet dui ullamcorper quis. Vestibulum at turpis at risus porttitor bibendum et vel dolor.\r\n\r\nPraesent pretium imperdiet leo, eu auctor arcu congue nec. Maecenas feugiat mauris elit. Vivamus vel sollicitudin metus, ut tempus ligula. Suspendisse non aliquet justo. Proin scelerisque cursus metus, in placerat ligula dignissim et. Duis fermentum ante dolor, aliquet malesuada velit feugiat vel. Morbi et sem in elit luctus vehicula vitae a nunc. Fusce ex purus, suscipit ac accumsan sed, scelerisque vel purus. In hac habitasse platea dictumst. Pellentesque eget nulla ac dolor porttitor ultricies. Nam eleifend massa eget justo suscipit viverra. In vel ligula turpis. Vestibulum ultricies, nibh vitae condimentum finibus, odio felis condimentum ipsum, in finibus leo dolor id turpis. Vivamus laoreet libero sit amet pulvinar mattis.\r\n\r\nPellentesque scelerisque imperdiet dui ac lacinia. Vivamus mi quam, condimentum ac gravida vitae, commodo eget turpis. Cras iaculis diam in elementum scelerisque. Maecenas ultricies, est quis posuere tempus, risus libero consequat augue, quis rutrum urna nulla a mauris. Quisque eleifend aliquam consectetur. Nulla consequat blandit molestie. Nam id facilisis tellus. In eget sem ac tellus lobortis pellentesque sagittis ac tellus.\r\n\r\nMorbi a ipsum dolor. Donec augue ipsum, faucibus id mauris nec, bibendum pellentesque magna. Etiam eleifend urna vel libero accumsan consequat. Praesent molestie diam eu urna dignissim, et tristique felis rutrum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Praesent ante magna, ornare nec fermentum nec, dictum ut nunc. Donec sed nunc rutrum, sollicitudin dolor nec, cursus felis. Integer ut dui sed ligula placerat lobortis in ac felis.\r\n\r\nAenean pretium turpis et ornare egestas. Curabitur egestas, sapien vitae tempor interdum, ante nisl auctor elit, at dictum lectus turpis sit amet lacus. Pellentesque lorem odio, lacinia quis augue ultricies, tincidunt aliquet dui. Fusce blandit nunc id ullamcorper scelerisque. Nunc eget ornare mi. Donec ac odio suscipit, pharetra libero at, hendrerit leo. Duis feugiat sapien eget augue rutrum malesuada. In faucibus, dolor sed congue aliquet, sapien massa gravida ipsum, eu sagittis leo tortor in metus. Ut egestas vehicula mollis.\r\n\r\nNulla tempus mi ac mauris pellentesque, non pellentesque risus luctus. Maecenas non nibh euismod, vestibulum mauris sit amet, malesuada augue. Aenean ut egestas magna. Integer sagittis mattis faucibus. Nulla luctus nisi diam, sit amet euismod magna laoreet a. Ut vehicula nibh ut sem blandit, nec congue ligula cursus. Sed eget nulla at lorem finibus rutrum. Nunc sagittis sem in mattis sagittis. Fusce id tincidunt nibh. Fusce rutrum nisi at leo cursus, eget rhoncus nibh porttitor. Maecenas maximus a augue eu tempor.\r\n\r\nVivamus tristique interdum congue. Phasellus feugiat dui augue, et consectetur erat venenatis nec. Cras ut tempus metus. Sed vestibulum pulvinar odio, eget vehicula orci lobortis at. Nulla purus est, gravida sed libero in, sollicitudin aliquam ante. Mauris non nisi quis sapien laoreet gravida sed sit amet libero. Vestibulum lacinia porttitor felis, quis maximus tortor laoreet quis. Nulla consequat, est eu vestibulum convallis, eros nisi vehicula nibh, sed pulvinar felis risus vitae ex. Proin cursus congue ornare. Duis quis eleifend arcu. Maecenas dictum ligula at risus imperdiet condimentum. Phasellus malesuada neque non mollis auctor. Sed in ultricies risus, non porta ex.\r\n\r\nProin gravida tortor dictum accumsan venenatis. Pellentesque euismod nisl tortor. Nullam interdum felis ut nulla egestas vehicula. Phasellus enim diam, malesuada a nisl vel, pellentesque malesuada massa. Curabitur pellentesque feugiat lorem vel ultrices. Vestibulum felis nisi, semper in augue vitae, blandit feugiat purus. Duis dolor risus, rhoncus ac semper et, finibus a orci. Aliquam hendrerit ligula eget velit consequat tincidunt. Integer mollis sapien in lacus rutrum, ut efficitur dui ultrices. Phasellus ut risus placerat, accumsan massa id, rhoncus augue.\r\n\r\nDonec nisi felis, condimentum in viverra id, pharetra quis augue. Donec ac quam ut dui bibendum viverra. Vivamus vel justo sed elit euismod iaculis. Fusce molestie mattis libero sit amet sagittis. Integer a nisl eu massa porta dignissim. Phasellus lectus risus, sagittis eu lorem eu, elementum ullamcorper tellus. Proin sed orci sed dolor posuere dignissim. Quisque pulvinar purus eu neque pretium, vehicula elementum ligula elementum. Sed gravida consectetur augue, eget dignissim elit euismod a. Sed commodo pulvinar arcu, sit amet ornare tortor placerat venenatis.\r\n\r\nPhasellus in lobortis nulla. Morbi et neque erat. Nunc porta commodo odio, in elementum metus porttitor scelerisque. Vestibulum lacinia tristique lacus eget dictum. Donec in orci mi. Mauris semper sodales mi vitae pellentesque. Donec iaculis congue accumsan. Fusce ut rutrum ex, eget porta turpis. Suspendisse scelerisque ex nec risus fermentum, nec elementum nisl iaculis. Maecenas non leo lacus. Morbi lacinia tortor purus, vel aliquam lorem laoreet eget. Vivamus rhoncus congue urna, at finibus est sodales et. Morbi sodales lacus ut ante consequat, egestas placerat eros tincidunt. Pellentesque maximus ligula leo, sed dictum metus ultrices in.\r\n\r\nInteger sagittis sem non nisl suscipit, sed congue leo ultrices. Vestibulum consectetur interdum venenatis. Donec egestas feugiat erat sed molestie. Vestibulum eleifend lectus nec est dapibus, in egestas ante ultrices. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In iaculis sed sapien at feugiat. Integer enim dolor, iaculis vel tortor nec, fermentum dictum ligula. Cras ornare cursus magna, ut scelerisque mi pellentesque quis.\r\n\r\nMorbi pulvinar, arcu eget vestibulum congue, diam lorem tempus risus, at vehicula nibh dui eget massa. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam aliquam velit dui, non aliquam nulla mattis ac. Suspendisse dapibus pharetra accumsan. Donec sem justo, ullamcorper id volutpat sit amet, placerat lobortis libero. Etiam vestibulum sagittis dui. Aliquam libero ipsum, dictum rhoncus nulla non, pellentesque aliquet mi. Vivamus sed porta ex. Nam finibus orci in porta semper. Donec tincidunt euismod urna et blandit. Vivamus lobortis placerat consectetur. Nullam porttitor, magna ut tincidunt tincidunt, nibh justo facilisis nulla, quis laoreet nisl mauris eu sem. Nunc a lobortis felis.\r\n\r\nInteger at mi sit amet magna venenatis imperdiet. Curabitur interdum quam sit amet urna fringilla, sed tristique velit posuere. Quisque hendrerit laoreet orci vitae rhoncus. Sed finibus, nibh sed hendrerit elementum, purus mi lobortis arcu, a fermentum nisl arcu id quam. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed fermentum erat eleifend risus accumsan faucibus. Fusce ultrices sollicitudin sem vel viverra. Suspendisse sodales ipsum eget ultrices accumsan. Pellentesque vel eros ante. Sed tristique egestas tincidunt. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.\r\n\r\nDonec blandit turpis non justo hendrerit tincidunt. Aliquam dolor metus, volutpat a laoreet vel, efficitur at metus. Nam venenatis sem dui, vitae tincidunt nulla venenatis sit amet. Curabitur tristique, dolor sed aliquet molestie, ex erat semper mi, in ornare nunc mauris ut justo. Integer iaculis sollicitudin magna, sit amet interdum sapien pharetra ut. Mauris aliquam congue eros, non pharetra mi imperdiet nec. Aliquam at porta risus, eu imperdiet ante. Nunc consectetur eu elit ut facilisis. Praesent sed neque risus. Nunc euismod eros mauris, eget congue elit volutpat ut. Nam sit amet neque massa.\r\n\r\nNam sit amet est vel sem sagittis varius. Cras ornare eu turpis vitae varius. Integer sit amet ex sed arcu semper consectetur. Proin ac libero iaculis, porttitor mi vel, accumsan lorem. Maecenas venenatis lobortis justo. Integer aliquet, elit nec faucibus euismod, quam purus suscipit lorem, sit amet sollicitudin nisl purus sit amet ex. Aenean ultrices libero a felis porttitor, id malesuada erat consectetur. Suspendisse velit nulla, egestas sit amet scelerisque eget, elementum eget lectus. Nullam at accumsan ipsum. In placerat, ante vitae scelerisque sollicitudin, dui nisi lobortis diam, eget maximus turpis arcu tristique est. Cras et nibh porta, hendrerit lorem ut, fringilla risus.\r\n\r\nQuisque eu nulla molestie, fermentum arcu nec, pharetra orci. Nulla molestie, neque ac ullamcorper aliquam, mauris lacus aliquam libero, at auctor diam justo sit amet eros. Integer vehicula, mauris sit amet aliquet elementum, libero urna commodo purus, quis commodo dolor orci id diam. Aliquam erat volutpat. Suspendisse quis suscipit libero. Aliquam placerat, dui nec vulputate auctor, mauris tortor fermentum felis, nec lacinia felis metus nec urna. Nulla vitae metus luctus erat fermentum consectetur. Nulla facilisi. Donec turpis ante, luctus vel turpis ut, rutrum sagittis urna. Quisque ut tellus ligula. Mauris eget magna lectus. Fusce at suscipit sapien. Praesent fringilla tincidunt ullamcorper. Duis id sollicitudin neque, sit amet rhoncus sem. Sed lacinia odio neque, nec lacinia ante dictum vitae. Nullam in suscipit augue.\r\n\r\nSed nulla lacus, sagittis quis purus eu, pulvinar tincidunt libero. Etiam sed elementum erat. Donec lacinia nulla sed justo pulvinar ultricies. Suspendisse lorem ante, placerat vitae facilisis sit amet, commodo ac velit. Etiam in sapien commodo, vestibulum augue ac, convallis enim. Aenean ut magna sapien. Praesent fermentum odio risus, imperdiet tempor libero sagittis non. Aliquam euismod bibendum nisi a suscipit. Morbi enim ex, varius vitae lacus et, sodales luctus elit. Phasellus et tellus velit.\r\n\r\nQuisque a nibh ac dolor congue congue. Mauris at tempus sapien. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Fusce dapibus magna sit amet malesuada accumsan. Nullam velit leo, ultricies et interdum convallis, varius ut elit. Cras facilisis faucibus est, vitae tempor ex placerat a. In mattis vel nulla nec volutpat. Maecenas tristique sodales venenatis. In dapibus, urna sit amet aliquam rhoncus, mi neque ultricies dolor, in pretium leo metus quis lacus. Mauris non consectetur lacus, sit amet imperdiet mi. Morbi egestas urna vel enim fermentum, vitae vestibulum neque congue. Vivamus tempus ipsum iaculis congue placerat. Nunc odio quam, bibendum mattis molestie id, sollicitudin consectetur lacus. Cras sagittis pharetra nibh vel scelerisque. Aenean in erat pellentesque, tempus libero non, convallis dolor. Sed et lorem in sapien fermentum condimentum.\r\n\r\nCurabitur eu augue a risus elementum sollicitudin. Aliquam erat volutpat. Fusce porttitor pulvinar ipsum, vel ornare erat pharetra non. Aliquam et metus vitae mi sollicitudin tristique vel vitae nulla. Nullam lobortis arcu eu iaculis eleifend. Vivamus magna nibh, ultrices eu est efficitur, dictum molestie odio. Donec ullamcorper, metus eu hendrerit cursus, erat nulla convallis quam, et efficitur nisi eros eget erat. Sed id metus dui. Nulla facilisi. Nulla facilisi. Pellentesque dignissim venenatis iaculis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.\r\n\r\nProin viverra, quam vitae egestas iaculis, tellus est consequat urna, vitae vehicula arcu dolor sit amet nulla. Phasellus sit amet purus eu lorem lacinia iaculis ac id mi. In sollicitudin urna in pellentesque rutrum. Sed efficitur felis at sagittis efficitur. Duis faucibus aliquet est, at commodo ipsum interdum sit amet. Cras eu libero hendrerit, elementum ex a, placerat ligula. Vestibulum nec orci ut metus blandit suscipit vel vel magna. Nulla facilisi. Integer porta rhoncus nulla vitae pharetra.\r\n\r\nMorbi lacinia nulla quis libero viverra efficitur. Sed nec magna in mauris eleifend rutrum ac nec augue. Aliquam accumsan gravida aliquam. Curabitur vel diam at neque luctus hendrerit eget non lacus. In nec ligula lorem. Mauris eget urna rhoncus, hendrerit sapien ut, sagittis urna. Etiam porta, lacus id auctor mattis, nulla diam euismod mauris, vitae fermentum nulla dolor id eros. Pellentesque convallis tellus velit, sed porta augue tincidunt at. Sed efficitur leo quis sapien lobortis aliquam. Aenean ac bibendum felis. Nulla lectus elit, dapibus nec fringilla nec, lacinia sit amet eros. Fusce egestas ipsum felis, id gravida orci dapibus consectetur. Vestibulum sed ultrices metus.\r\n\r\nCurabitur a euismod justo, eget vehicula augue. Morbi at aliquam augue, vitae auctor orci. Nam dignissim posuere nunc a euismod. Nunc iaculis dui ut justo vulputate euismod. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse sodales mi non egestas sollicitudin. Mauris ultricies leo libero, non tincidunt libero sollicitudin non. Morbi dictum eget purus quis placerat. Vestibulum consequat, ipsum molestie venenatis fringilla, orci ex luctus elit, quis bibendum tortor ante a ligula. Nulla at leo rutrum, accumsan diam sed, consectetur ligula. Donec dignissim vitae elit at finibus. Vivamus a euismod lacus. Donec in euismod erat. Quisque tempor augue eleifend, dignissim enim ut, ultrices est. Nulla lacinia pretium augue non lacinia. Aenean auctor odio ac risus elementum tempor.\r\n\r\nCurabitur aliquam orci elit, id consequat nunc consequat quis. Duis sed elit vel magna aliquam convallis. Praesent viverra vel urna vel luctus. Maecenas cursus elit eu suscipit aliquet. Pellentesque sit amet lorem vel erat luctus vestibulum. Proin rhoncus leo a dui ullamcorper consectetur. Curabitur vel nunc nec enim mollis dictum sit amet sit amet lorem. Aliquam pharetra non magna sed viverra.\r\n\r\nUt eu lorem in purus aliquet lacinia at non nulla. Ut auctor interdum nisi, nec aliquam ligula viverra nec. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Pellentesque posuere lacus arcu. Sed ipsum orci, tempor quis eleifend a, hendrerit et augue. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam turpis dolor, rhoncus ac aliquam et, maximus ac libero. Vestibulum sollicitudin, eros in iaculis posuere, ante ante vulputate leo, sed venenatis nisi felis eu augue. Donec in sapien non elit ultrices viverra ac at nibh. Vestibulum sagittis rutrum turpis nec luctus. Aliquam sit amet urna ipsum. Sed ornare condimentum ipsum nec bibendum.\r\n\r\nMaecenas et tempor nisi. Sed eleifend lacus sit amet feugiat vestibulum. Vestibulum condimentum lacus vel leo finibus luctus. Maecenas urna dui, feugiat vehicula nibh vitae, gravida consequat tortor. Sed vitae orci vel lacus efficitur accumsan. Aenean tincidunt ligula a nibh pretium, quis viverra nunc laoreet. Cras varius sapien ac nunc vulputate dictum et id lorem. Ut in ante pretium, finibus enim a, malesuada lectus. Curabitur eu nisl venenatis, efficitur tellus vel, tincidunt velit. Aliquam a sem mattis ipsum condimentum venenatis eu ut orci. Curabitur sed justo tristique, varius justo vel, laoreet est. Nullam at felis non lacus faucibus porttitor.\r\n\r\nDonec lobortis dictum hendrerit. Aliquam lacinia mattis ullamcorper. Pellentesque sollicitudin lorem magna, nec interdum leo porttitor non. Nunc risus tellus, commodo nec turpis eget, lacinia venenatis lectus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris eleifend sapien et ullamcorper malesuada. Suspendisse blandit erat ac malesuada malesuada. Phasellus ullamcorper ullamcorper risus quis venenatis. Nulla rutrum nibh magna, a elementum justo ornare ut.", + "price": "99.99", + "image": "", + "featured": true, + "active": true, + "timestamp": "2017-09-18T19:29:03.347Z" + } +}, +{ + "model": "products.product", + "pk": 5, + "fields": { + "title": "T-shirt", + "slug": "t-shirt-y7f6", + "description": "another one?>?", + "price": "39.99", + "image": "", + "featured": false, + "active": true, + "timestamp": "2017-09-18T19:29:03.347Z" + } +} +]