I'm also +1 __nonezero__ -1 .exists(). Using .count() already gives us
the required functionality and makes logical sense, the only question
then is how big of a performance gain do we get by using SELECT 1
LIMIT 1.
SELECT 1 FROM [table] LIMIT 1 also feels kinda hackish to me, and I'm
guessing
On 7/14/07, Malcolm Tredinnick <[EMAIL PROTECTED]> wrote:
>
> On Fri, 2007-07-13 at 16:22 -0500, Adrian Holovaty wrote:
> > I'd like to add a QuerySet.exists() method, which would return True or
> > False if the given QuerySet contains at least one record. This would
> > be more efficient than
2007/7/14, Gary Wilson <[EMAIL PROTECTED]>:
>
> James Bennett wrote:
> > On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
> >> I'm biased, because I have an immediate need for this in a project,
> >> but this seems general and useful enough for inclusion in QuerySet.
> >
> > Implementing
James Bennett wrote:
> On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
>> I'm biased, because I have an immediate need for this in a project,
>> but this seems general and useful enough for inclusion in QuerySet.
>
> Implementing the check in __nonzero__ and having people test by doing
>
On 7/13/07, Malcolm Tredinnick <[EMAIL PROTECTED]> wrote:
[...]
> Due to Oracle inclusion, this has to be
>
> select count(*) from [table] where [...]
>
> and then check that the result is > 0, at least in the Oracle backend
> (no "limit" extension in Oracle). The problem being that
On Fri, 2007-07-13 at 21:56 -0600, Ian Kelly wrote:
> > By the way, for all database backends except SQLite, you can implement
> > all of this sort of stuff (including exists and __len__) fairly fast
> > using cursor.rowcount (the number of rows in the result set).
> > Unfortunately, SQLite
> By the way, for all database backends except SQLite, you can implement
> all of this sort of stuff (including exists and __len__) fairly fast
> using cursor.rowcount (the number of rows in the result set).
> Unfortunately, SQLite always returns -1 for rowcount. I'm building a few
> of those
On Fri, 2007-07-13 at 16:22 -0500, Adrian Holovaty wrote:
> I'd like to add a QuerySet.exists() method, which would return True or
> False if the given QuerySet contains at least one record. This would
> be more efficient than qs.count() or len(qs) because it would perform
> the following SQL
On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
> I'm biased, because I have an immediate need for this in a project,
> but this seems general and useful enough for inclusion in QuerySet.
Implementing the check in __nonzero__ and having people test by doing
'if some_queryset' or 'if not
+1 on both. I was needing this just the other day.
Michael
On 7/13/07, Brian Harring <[EMAIL PROTECTED]> wrote:
>
> On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
> > On 7/13/07, SmileyChris <[EMAIL PROTECTED]> wrote:
> > > Adrian, I think it's useful enough. But why do you need a
On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
> On 7/13/07, SmileyChris <[EMAIL PROTECTED]> wrote:
> > Adrian, I think it's useful enough. But why do you need a .exists() if
> > we could just use __nonzero__ (like Ivan suggested)?
>
> I hadn't thought of that! Yes, we should definitely
On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
> Yes, we should definitely implement a
> QuerySet.__nonzero__() method. However, I'd like there to be an
> explicit method (named either exists() or any() or whatever), because
[snip]
Agreed -- I'm +0 on .exists() and __nonzero__() being an
On 7/13/07, SmileyChris <[EMAIL PROTECTED]> wrote:
> Adrian, I think it's useful enough. But why do you need a .exists() if
> we could just use __nonzero__ (like Ivan suggested)?
I hadn't thought of that! Yes, we should definitely implement a
QuerySet.__nonzero__() method. However, I'd like
On Jul 14, 9:55 am, Ivan Sagalaev <[EMAIL PROTECTED]> wrote:
> Adrian Holovaty wrote:
> > I'd like to add a QuerySet.exists() method, which would return True or
> > False if the given QuerySet contains at least one record. This would
> > be more efficient than qs.count() or len(qs) because it
Adrian Holovaty wrote:
> I'd like to add a QuerySet.exists() method, which would return True or
> False if the given QuerySet contains at least one record. This would
> be more efficient than qs.count() or len(qs) because it would perform
> the following SQL under the hood:
>
> SELECT 1 FROM
On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
>
> I'd like to add a QuerySet.exists() method, which would return True or
> False if the given QuerySet contains at least one record. This would
> be more efficient than qs.count() or len(qs) because it would perform
> the following SQL
On 7/13/07, Tom Tobin <[EMAIL PROTECTED]> wrote:
> +0; seems like a reasonable addition. I wonder of "any" might be a
> better method name (along the lines of the Python 2.5 built-in
> function), but either name would be fine IMHO.
Err, I wonder *if*. ::sigh:: :-)
On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote:
>
> I'd like to add a QuerySet.exists() method, which would return True or
> False if the given QuerySet contains at least one record. This would
> be more efficient than qs.count() or len(qs) because it would perform
> the following SQL
I'd like to add a QuerySet.exists() method, which would return True or
False if the given QuerySet contains at least one record. This would
be more efficient than qs.count() or len(qs) because it would perform
the following SQL under the hood:
SELECT 1 FROM [table] WHERE [where] LIMIT 1;
19 matches
Mail list logo