예제 #1
0
def addPublisher(request):
    new_publisher = Publisher()
    if request.method == 'POST':
        form = PublisherForm(request.POST)
        if form.is_valid():
            name = form.cleaned_data['name']
            address = form.cleaned_data['address']
            city = form.cleaned_data['city']
            state_province = form.cleaned_data['state_province']
            country = form.cleaned_data['country']
            website = form.cleaned_data['website']
            phone = form.cleaned_data['phone']

            new_publisher.name = name
            new_publisher.address = address
            new_publisher.city = city
            new_publisher.state_province = state_province
            new_publisher.country = country
            new_publisher.website = website
            new_publisher.phone = phone
            new_publisher.save()

            #return HttpResponse("Publisher Added")
            #return render(request, 'auth_users.html')
            return redirect('/books/home/')
    else:
        form = PublisherForm()
    return render(request, 'publisher.html', {'form': form})
예제 #2
0
 def _save_publisher(self):
     print('... Save Model Publisher ...')
     publishers = self.df_books['publisher']
     for p in publishers:
         publisher = Publisher(name=p)
         try:
             publisher.save()
         except IntegrityError:
             pass
예제 #3
0
 def handle(self, *args, **options):
   Book.objects.all().delete()
   Publisher.objects.all().delete()
   Author.objects.all().delete()
   print('* Populating books...')
   orderedLS = OrderedDict(lifestudies)
   p = Publisher(name='Living Stream Ministry', code='LSM')
   p.save()
   a = Author(first_name='Witness', last_name='Lee')
   a.save()
   for b, c in orderedLS.items():
     print b
     b = Book(publisher=p, name=b, chapters=c)
     b.save()
     b.author = (a,)
     b.save()
예제 #4
0
파일: views.py 프로젝트: jadeaxon/hello
def populate_books_database(request):
	from books.models import Publisher
	p1 = Publisher(
		name='Addison-Wesley',address='75 Arlington St.',
		city='Boston', state_province='MA', country='U.S.A.',
		website='http://www.addison-wesley.com/',
	)
	p1.save()
	
	p2 = Publisher(
		name="O'Reilly", address='10 Fawcett St.',
		city='Cambridge', state_province='MA', country='U.S.A.',
		website='http://www.oreilly.com/',
	)
	p2.save()
	return HttpResponse("Database populated.")
예제 #5
0
def bookDb(request):
    return
    p1 = Publisher(name='Apress',
                   address='2855 Telegraph Avenue',
                   city='Berkeley',
                   state_province='CA',
                   country='U.S.A.',
                   website='http://www.apress.com/')
    p1.save()
    p2 = Publisher(name="O'Reilly",
                   address='10 Fawcett St.',
                   city='Cambridge',
                   state_province='MA',
                   country='U.S.A.',
                   website='http://www.oreilly.com/')
    p2.save()
    return HttpResponse('<p>数据添加成功</p>')
예제 #6
0
def dbtest(req):
    ##插入记录
    p1 = Publisher(name='Apress',
                   address='2855 Telegraph Avenue',
                   city='Berkeley',
                   state_province='CA',
                   country='U.S.A.',
                   website='http://www.apress.com/')
    p1.save()  ##插入记录
    print p1.id
    p1.name = 'Apress Publishing'
    p1.save()  ##更新记录

    p2 = Publisher.objects.create(name="O'Reilly",
                                  address='10 Fawcett St.',
                                  city='Cambridge',
                                  state_province='MA',
                                  country='U.S.A.',
                                  website='http://www.oreilly.com/')
    ##查询记录与过滤
    publisher_list = Publisher.objects.all()
    print publisher_list
    publisher_list = Publisher.objects.filter(name='Apress')
    print publisher_list
    publisher_list = Publisher.objects.filter(country="U.S.A.",
                                              state_province="CA")
    Publisher.objects.filter(name__contains="press")
    ##icontains(大小写无关的LIKE),startswith和endswith, 还有range(SQLBETWEEN查询)
    publisher = Publisher.objects.get(
        name="Apress")  ##如果结果是多个对象,会导致抛出异常,没有返回结果也会抛出异常
    Publisher.objects.order_by("name")  ##排序
    Publisher.objects.filter(country="U.S.A.").order_by("-name")
    Publisher.objects.order_by('name')[0]  ##限制数据,等同于limit
    ##更新
    p = Publisher.objects.get(name='Apress')
    p.name = 'Apress Publishing'
    p.save()
    Publisher.objects.filter(id=52).update(name='Apress Publishing')
    Publisher.objects.all().update(country='USA')
    ##删除
    p = Publisher.objects.get(name="O'Reilly")
    p.delete()
    Publisher.objects.filter(country='USA').delete()
    Publisher.objects.all().delete()
예제 #7
0
def populate_books_database(request):
    from books.models import Publisher
    p1 = Publisher(
        name='Addison-Wesley',
        address='75 Arlington St.',
        city='Boston',
        state_province='MA',
        country='U.S.A.',
        website='http://www.addison-wesley.com/',
    )
    p1.save()

    p2 = Publisher(
        name="O'Reilly",
        address='10 Fawcett St.',
        city='Cambridge',
        state_province='MA',
        country='U.S.A.',
        website='http://www.oreilly.com/',
    )
    p2.save()
    return HttpResponse("Database populated.")
예제 #8
0
파일: views.py 프로젝트: auronzhong/d11
def dbtest(req):
    ##插入记录
    p1 = Publisher(name='Apress', address='2855 Telegraph Avenue',
                   city='Berkeley', state_province='CA', country='U.S.A.',
                   website='http://www.apress.com/')
    p1.save()  ##插入记录
    print p1.id
    p1.name = 'Apress Publishing'
    p1.save()  ##更新记录

    p2 = Publisher.objects.create(name="O'Reilly",
                                  address='10 Fawcett St.', city='Cambridge',
                                  state_province='MA', country='U.S.A.',
                                  website='http://www.oreilly.com/')
    ##查询记录与过滤
    publisher_list = Publisher.objects.all()
    print publisher_list
    publisher_list = Publisher.objects.filter(name='Apress')
    print publisher_list
    publisher_list = Publisher.objects.filter(country="U.S.A.", state_province="CA")
    Publisher.objects.filter(name__contains="press")
    ##icontains(大小写无关的LIKE),startswith和endswith, 还有range(SQLBETWEEN查询)
    publisher = Publisher.objects.get(name="Apress")  ##如果结果是多个对象,会导致抛出异常,没有返回结果也会抛出异常
    Publisher.objects.order_by("name")  ##排序
    Publisher.objects.filter(country="U.S.A.").order_by("-name")
    Publisher.objects.order_by('name')[0]  ##限制数据,等同于limit
    ##更新
    p = Publisher.objects.get(name='Apress')
    p.name = 'Apress Publishing'
    p.save()
    Publisher.objects.filter(id=52).update(name='Apress Publishing')
    Publisher.objects.all().update(country='USA')
    ##删除
    p = Publisher.objects.get(name="O'Reilly")
    p.delete()
    Publisher.objects.filter(country='USA').delete()
    Publisher.objects.all().delete()
예제 #9
0
def crudops(request):
    #Creating an entry

    publisher = Publisher(name='Apress',
                          address='2855 Telegraph Avenue',
                          city='Berkeley',
                          state_province='CA',
                          country='U.S.A.',
                          website='http://www.apress.com/')
    publisher.save()

    #Read ALL entries
    objects = Publisher.objects.all()
    res = 'Printing all Publisher entries in the DB : <br>'

    for elt in objects:
        res += elt.name + "<br>"

    # #Read a specific entry:
    # sorex = Publisher.objects.get(name = "Apress1")
    # res += 'Printing One entry <br>'
    # res += sorex.name

    #Delete an entry
    #res += '<br> Deleting an entry <br>'

# sorex.delete()

#Update
    publisher = Publisher(name='Apress1',
                          address='2855 Telegraph Avenue',
                          city='Berkeley',
                          state_province='CA',
                          country='U.S.A.',
                          website='http://www.apress.com/')

    publisher.save()
    res += 'Updating entry<br>'

    publisher = Publisher.objects.get(name='Apress1')
    publisher.name = 'thierry'
    publisher.save()
    Publisher.objects.filter(id=27).update(name='Apress Publishing')
    Publisher.objects.all().update(country='USA')

    return HttpResponse(res)
예제 #10
0
파일: insert.py 프로젝트: Moon-Crazy/web
#coding=utf-8
#测试插入数据
from books.models import Publisher

p1 = Publisher(name='Apress',address='2855 Telegraph Avenu',
	city='Berkeley',state_province='CA',country='U.S.A',
	website='http;//www.apress.com')

p1.save()

publisher_list = Publisher.objects.all()
publisher_list

print publisher_list
예제 #11
0
        publisher = models.ForeignKey(Publisher) # 对应一个单独的publisher(one-to-many);会创建外键来维护
        # 以下是一一对应关系的写法, 第一个参数是关联的对象,  verbose_name 是说明
        # place = models.OneToOneField(Place, verbose_name="related place")


2.model操作
    # 执行命令
    python manage.py shell  # 先进入django的shell, 以加载设置后再运行

    ####################### 执行python ######################
    from books.models import Publisher,Book # import模型类

    # 新增、保存
    p = Publisher(name='Apress', address='2560 Ninth St.', website='http://www.apress.com/') # 创建模型类对象,并赋值
    print( p._state.adding ) # 打印:True 。实例的“._state.adding”属性当此实例还没有保存到数据库前都是 True, 由数据库查询出来的是 False。 用来判断对象是否需要 insert
    p.save() # 将一个对象保存到数据库, 后台Django在这里执行了一条 INSERT SQL语句
    p = Publisher(name="O'Reilly", address='10', website='http://www.oreilly.com/')
    p.save(force_insert=True) # save 函数加上 force_insert=True 时会强制执行 insert,新增时减少一次 update(不加则会先试试update再insert)
    Joe = Publisher.objects.create(name="Joe", address='10 N') # 直接保存到数据库, 并返回这个对象
    print( Joe._state.adding ) # 打印:False 。实例的“._state.adding”当数据已经存到数据库都返回 False
    book = Book.objects.get(title="ddkk")
    book.publisher.add(Joe) # 添加关联类(调用它的 add 函数)
    obj, result = Publisher.objects.get_or_create(name='Apress', address='Ninth St.', website='http://www.xx.com/')
    # get_or_create 有则返回查询结果(返回: 结果类, False), 没有则新增一个(返回: 新增后的结果类,True)

    # 更新
    publisher = Publisher.objects.get(id=1) # 这只获取到一个对象
    publisher.name = 'test_name'
    publisher.save() # 执行更新语句(会更新除了主键之外的所有字段)
    publisher.save(update_fields=['name']) # 执行更新语句(只更新指定字段,update_fields列表里可以指定多个字段)
    Publisher.objects.filter(name='Joe').update(city='haha..') # 执行条件更新(更新多行);返回更新的行数
예제 #12
0
 def test_create_publisher_with_exists_name_raises_error(self):
     publisher = PublisherFactory()
     new_publisher = Publisher(name=publisher.name)
     with self.assertRaises(IntegrityError):
         new_publisher.save()
예제 #13
0
# ========================= Database objects ========================
# ___________________________________________________________________________

# begins half way down page:
# http://www.djangobook.com/en/1.0/chapter05/



>>> from books.models import Publisher

# listing data
>>> Publisher.objects.all()

# create new instances
p = Publisher(name='Apress',address='2855 Telegraph Ave.', city='Berkeley', state_province='CA', country='U.S.A.', website='http://www.apress.com/')
p.save()

# filtering data
>>>> Publisher.objects.filter(name="Apress")
>>>> Publisher.objects.filter(name__contains="press")
#>>>> Poll.objects.filter(question__startswith='What')

# returning single object using .get
>>> Publisher.objects.get(name="Apress Publishing")
>>>> Publisher.objects.get(country="U.S.A.")

# ordering data
>>> Publisher.objects.order_by("name")
>>> Publisher.objects.order_by("address")

# multiple ordering
예제 #14
0
from books.models import Publisher
p1 = Publisher(name='Apress', address='2855 Telegraph Avenue',city='Berkeley', state_province='CA', country='U.S.A.',website='http://www.apress.com/')
p1.save()
p2 = Publisher(name="O'Reilly", address='10 Fawcett St.',city='Cambridge', state_province='MA', country='U.S.A.',website='http://www.oreilly.com/')
p2.save()
p3 = Publisher(name="O'Reilly",)
p3.save()
p4 = Publisher.objects.create(name='learning django',)
publisher_list = Publisher.objects.all()
publisher_list
예제 #15
0
파일: console.py 프로젝트: JimDuggan/CT216
# run this command at the terminal prompt
# python manage.py shell

# within the shell, run the following commands

# (1) Add two books

from books.models import Publisher

p1 = Publisher(name='Apress', address='2855 Telegraph Avenue', city='Berkeley',
               state_province = 'CA', country='U.S.A', website='http://www.apress.com')
p1.save()

# Roughly Translated to SQL =>
#
#   INSERT INTO books_publisher
#       (name, address, city, state_province, country, website)
#   VALUES
#       ('Apress', '2855 Telegraph Avenue', 'Berkeley', 'CA',
#        'U.S.A.','http://www.apress.com')
#

p2 = Publisher(name="O'Reilly", address='10 Fawcett St.', city='Cambridge',
               state_province = 'MA', country='U.S.A', website='http://www.oreilly.com')
p2.save()


# (2) Show the list of books

publisher_list = Publisher.objects.all()