Pagination in Flask-SQLAlchemy

Поділитися
Вставка
  • Опубліковано 25 лип 2024
  • Using pagination in Flask-SQLAlchemy is important because often times you'll have large datasets in your database that you don't want to appear in your template all at once. By calling the paginate method on your SQLAlchemy model query, you'll be able to return only the results you want while still having access to the others by going to a different page. In this video, I show you exactly how to use pagination in Flask-SQLAlchemy, and by the end of it, you should know enough to use paginate the results in your apps.
    Need one-on-one help with your project? I can help through my coaching program. Learn more here: prettyprinted.com/coaching
    Join my free course on the basics of Flask-SQLAlchemy: prettyprinted.com/flasksql
    Documentation Referenced in Video:
    flask-sqlalchemy.pocoo.org/2.1...
    flask-sqlalchemy.pocoo.org/2.1...
    Flask Cheatsheet: prettyprinted.com/flaskcheats...
    Twitter: / pretty_printed
    Github: github.com/prettyprinted

КОМЕНТАРІ • 58

  • @prettyprinted
    @prettyprinted  4 роки тому

    Join my free course on the basics of Flask-SQLAlchemy: prettyprinted.com/flasksql

  • @thomasrosenbaugh5805
    @thomasrosenbaugh5805 3 роки тому +1

    Can't tell you how much you have helped me learn, every time I need to learn something within flask you have a video to get me going. You are the man my friend

  • @salmoseproverbiosilustrados
    @salmoseproverbiosilustrados 2 роки тому

    Very good. Its help me so much. Congratulations from Brazil

  • @kekkoB996
    @kekkoB996 6 років тому

    Thank you. It's been very helpful.

    • @prettyprinted
      @prettyprinted  6 років тому

      You're welcome! Thanks for watching.

  • @MaxSeipio
    @MaxSeipio 6 років тому

    Excellent, thanks for the video!

    • @prettyprinted
      @prettyprinted  6 років тому

      You're welcome! Thanks for watching.

  • @patrickmutuku
    @patrickmutuku 6 років тому

    Great tutorials as always

  • @zacaruca
    @zacaruca 5 років тому

    Muchas gracias por este tutorial. Me ha venido muy bien.

    • @prettyprinted
      @prettyprinted  5 років тому

      You're welcome! Thanks for watching.

  • @mounirben9370
    @mounirben9370 4 роки тому

    The king of flask you are

  • @gleepwurp1974
    @gleepwurp1974 6 років тому

    Thanks! Interesting videos!

  • @jottedpro7408
    @jottedpro7408 6 років тому

    thank uuuuuu so much it was so helpful

    • @prettyprinted
      @prettyprinted  6 років тому

      You're welcome! Thanks for watching.

  • @webmasters7133
    @webmasters7133 Рік тому

    thank you bro!

  • @diego.coder26
    @diego.coder26 6 років тому

    Saludos desde Chile , buenos vídeos

  • @evanesoteric
    @evanesoteric 6 років тому

    Appreciate you!

  • @_SoundByte_
    @_SoundByte_ 6 років тому +2

    thanks a lot...

    • @prettyprinted
      @prettyprinted  6 років тому +1

      You're welcome! Thanks for watching.

  • @ayushaher5022
    @ayushaher5022 3 роки тому

    thank you

  • @richardrenescol4835
    @richardrenescol4835 4 роки тому

    great video !! , how about pagination with filter ?

  • @RamiroJativa
    @RamiroJativa 4 роки тому

    Excellent Anthony- As always. Thank you!!! The link provided to access the source code reports an error 404: Page not found

  • @kadursandy
    @kadursandy 4 роки тому +1

    This is a good example of offset based pagination. Is there any example for cursor based pagination? I am looking for a good example using flask sqlalchemy with timestamp been used in the cursor based .please help

  • @khai-chuongtrinh1429
    @khai-chuongtrinh1429 5 років тому

    hi thanks for great video. i'm wondering what is difference between your method of pagination and other method like so:
    pagination = Pagination(page, PER_PAGE, count)
    return render_template('some.html', pagination=pagination, users=users)
    Also, how can I change font size of the user.iter_pages() links? Is it through some CSS style? There alternative method I mentioned has documentation on changing the font size and padding, etc through CSS. How can I do it for your method? Thanks

  • @jonasnicoletti390
    @jonasnicoletti390 6 років тому

    Hi, I really like your Flask Tutorials! Do you mind if I put your CheatSheet on one of my Github Projects? Of course I will link to your website and give the credit to you

  • @kishoreandra
    @kishoreandra 4 роки тому

    Hey anthony, how can I achieve this... say I want to pass an index for eg: 0 it should return 0 to 5 records and if index is 1 it should return 6 to 10 record in json if possible......using flask sql alchemy.....thanks

  • @arushkapoor7735
    @arushkapoor7735 5 років тому

    Best video tutorial on flask pagination, but please make a video on flask infinite scrolling as it is hard to find on the internet.

    • @prettyprinted
      @prettyprinted  5 років тому

      That's a good idea. I'll add it to my list. Thanks for watching.

  • @mayurpande5415
    @mayurpande5415 6 років тому

    Hi I am not able to post through all form data from paginated pages. For example if I have loads of checkboxes on each row, I am not when I submit my form. I only get the data for the last page number when an items was selected. Is there a way around this.

  • @prafulrathod8765
    @prafulrathod8765 4 роки тому

    hey Anthony,you explanation Power is Wonderfull..I am getting error in jinja syntax that 'list object is not iterable' for threads.iter_pages.How does I solve this ??

  • @RiddleMeThat313
    @RiddleMeThat313 6 років тому

    what if my 'thread' function got already some arguments ?

  • @Surendranathkumarms
    @Surendranathkumarms 5 років тому

    Wonderful video. I am facing an issue. I am able to pull the rows and navigate to rows. I need to receive additional comments for the row presented to the user and update back to the database. What is the best approach to handle this situation?

    • @prettyprinted
      @prettyprinted  5 років тому

      You can associate the additional comments with the ID of each row and then use that ID to query for the row again to update it.

  • @alejocapovilla8119
    @alejocapovilla8119 2 роки тому

    How can i dynamically change the per_page value to show rows in a table like 5, 10, 20, etc. I managed to sort them but when navigation to next page it shows the rows as only 5 or the number i have previously set.

  • @Glauberz1
    @Glauberz1 6 років тому

    Hello,I'm having trouble trying to paginate a modal box using flask-sqlalchemy pagination method because when i change the page the modal box close automatically.Can you help me on how to maginate a modal box without it closing? i tried using Ajax but not worked.

    • @prettyprinted
      @prettyprinted  6 років тому

      That's too broad of a question to answer over UA-cam. If you have code, you can send it to anthony@prettyprinted.com so I can take a look.

  • @n3wtou
    @n3wtou 5 років тому

    Is there a version that can be used with pymongo db?

  • @ManwalStudio
    @ManwalStudio 5 років тому

    Hi, can you please provide the method of search of filter by name or I'd

    • @prettyprinted
      @prettyprinted  5 років тому +1

      It would look something like this: .filter(db.or_(User.id == id, User.name == name)))

  • @jake5335
    @jake5335 6 років тому

    Any way to add a search box with this to search for a specific result?

    • @prettyprinted
      @prettyprinted  6 років тому

      That's a pretty broad question, but basically, yes you can add a search box.

    • @jake5335
      @jake5335 6 років тому +1

      Thanks for the quick reply!
      Okay I'll be more specific, I've used the method in this video to paginate some campsites in a website i'm making. It would be a lot better if the user had the option to type in some characters to filter the results.
      Would you recommend anything for this functionality?
      Really helpful vid btw, you explain things very well. I've subbed to your channel.

    • @prettyprinted
      @prettyprinted  6 років тому

      Still a bit broad because it depends on exactly how you want it to work.
      But I'll assume the search box is just a form. When the form gets submitted, you can add arguments to the URL query string that would get read by the route that queries the database.

  • @webmasters7133
    @webmasters7133 Рік тому

    oshna lekin zo'r chiiqbdi! ashnaqa davom etorin )) (Anjanlilar tushundi)

  • @desmondadefon6116
    @desmondadefon6116 6 років тому

    Nice video Anthony thanks you really explain this well but i want to ask you one question , i am adding full text search to my app using whooshalchemy and i want to paginate my results how can i do this, here is my code but i keep on getting and error.My search code code works well but i get and error only when i try to add pagination to the results
    @app.route('/search_results//')
    @app.route('/search_results/')
    def search_results(query,page=1):
    results = User.query.whoosh_search(query, or_=True).paginate(page=page, per_page=2,error_out=True)
    return render_template('search_results.html',
    results=results,
    query=query
    )#closing redirect

    • @prettyprinted
      @prettyprinted  6 років тому

      It's a bug in WhooshAlchemy. See here: github.com/gyllstromk/Flask-WhooshAlchemy/pull/14
      Try using a fork of the extension: github.com/dhamaniasad/Flask-WhooshAlchemy

  • @lnknwl7267
    @lnknwl7267 6 років тому

    I have some problem. I want to paginate the data from my database but when i run application i get the message: "werkzeug.routing.BuildError: Could not build url for endpoint 'personal_page'. Did you forget to specify values ['page_num']?". I downloaded your application and it works properly, but mine doesn't... What i have do to here? My code below:
    @app.route('/personal_page/', methods=['GET', 'POST'])
    @login_required
    def personal_page(page_num):
    threads = Users.query.paginate(per_page=10, page=page_num, error_out=True)
    return render_template('personal_page.htm', threads=threads,
    title = 'Personal page',
    name = current_user.username)
    Sorry for bad English btw

    • @prettyprinted
      @prettyprinted  6 років тому +1

      When using url_for, are you including the page number? url_for('personal_page', page_num=the_page_num)

    • @lnknwl7267
      @lnknwl7267 6 років тому

      Pretty Printed Yes, I solved that already, but thanks for reply! You are awesome! :D

    • @luisncn
      @luisncn Рік тому

      como resolviste?

  • @joshyjoy2318
    @joshyjoy2318 4 роки тому +1

    all the time he says cheat sheet, I hear chi chi..... :)

  • @crearte-diy
    @crearte-diy 3 роки тому

    this_tutorial_is_fake = True