Re: Timezone issue in when storing in DB

2023-08-15 Thread Mike Dewhirst

On 16/08/2023 12:35 pm, Madhusudhan Reddy wrote:

Hi All,

I am trying to store the date with the timezone.
for example, my servers are in Mumbai, when my servers are trying to 
get the time of America/Detroit. it is not able to get proper time


pytz is deprecated. You should consider using zoneinfo (install tzdata 
first) instead.


import zoneinfo
from datetime import datetime

tz = "America/Detroit"
rightnow = datetime.now(zoneinfo.ZoneInfo(tz))
datetime_in_tz = "%s-%s-%s %s:%02d:%02d" % (
    rightnow.year,
    rightnow.month,
    rightnow.day,
    rightnow.hour,
    rightnow.minute,
    rightnow.second,
)
print(f'{tz}:  {datetime_in_tz}')







Here is the snippet and details
Screenshot from 2023-08-16 08-00-21.png
def get_created_at(timezone):
local_tz = pytz.timezone(timezone)
print(datetime.utcnow())
created_at = 
local_tz.localize(datetime.utcnow()).astimezone(tz=pytz.timezone(timezone))

return created_at


--
Best regards,
Madhusudhan
+91 90007 79457
Gmail  | LinkedIn 




--
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/CAFwQctLvw9KinV8a%3DVTysi_NSNJfu3rodBoBPCY5Cih_ih-DGQ%40mail.gmail.com 
.



--
Signed email is an absolute defence against phishing. This email has
been signed with my private key. If you import my public key you can
automatically decrypt my signature and be sure it came from me. Your
email software can handle signing.

--
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/ed002508-9995-eb11-9b99-9e2ea8b99885%40dewhirst.com.au.


OpenPGP_signature
Description: OpenPGP digital signature


Timezone issue in when storing in DB

2023-08-15 Thread Madhusudhan Reddy
Hi All,

I am trying to store the date with the timezone.
for example, my servers are in Mumbai, when my servers are trying to get
the time of America/Detroit. it is not able to get proper time

Here is the snippet and details
[image: Screenshot from 2023-08-16 08-00-21.png]
def get_created_at(timezone):
local_tz = pytz.timezone(timezone)
print(datetime.utcnow())
created_at = local_tz.localize(datetime.utcnow()).astimezone(tz=pytz.
timezone(timezone))
return created_at


-- 
Best regards,
Madhusudhan
+91 90007 79457
Gmail  | LinkedIn


-- 
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/CAFwQctLvw9KinV8a%3DVTysi_NSNJfu3rodBoBPCY5Cih_ih-DGQ%40mail.gmail.com.


Re: How is Django For Api book

2023-08-15 Thread Roy Lagg

You could check out *William S. Vincent - REST APIs with Django. *The book 
is easy to read and has industry-standard tips and guides.
On Tuesday, August 15, 2023 at 1:59:53 AM UTC+3 abu yahya Diab wrote:

> I have good knowledge in API, you can say beginner knowledge in API.
> I'm trying to delve deeper in API, when I check the Django For Api book 
> content, I noticed .that its not that professional book
>

-- 
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/090cdd56-68ed-4827-b9f1-ebc4dcee9a67n%40googlegroups.com.


Re: AWS Polly w/ strictly Django and Javascript

2023-08-15 Thread Mike Dewhirst

On 15/08/2023 7:26 am, Lightning Bit wrote:
Hello, how could one go about integrating AWS Polly voices onto a 
website utilizing only Django, HTML, CSS, and Javascript? I do not 
want to use "node.js" or "react".


Look closely at htmx.org




--
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/8c6489f9-8a0e-4fc2-af6d-de25169c1a15n%40googlegroups.com 
.



--
Signed email is an absolute defence against phishing. This email has
been signed with my private key. If you import my public key you can
automatically decrypt my signature and be sure it came from me. Your
email software can handle signing.

--
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/b7919749-8663-3f01-64c8-9b6994e100ba%40dewhirst.com.au.


OpenPGP_signature
Description: OpenPGP digital signature


Re: Case-insensitive non-deterministic collation

2023-08-15 Thread Mike Dewhirst

Found a great article by Adam Johnson written in February ...

https://adamj.eu/tech/2023/02/23/migrate-django-postgresql-ci-fields-case-insensitive-collation/

Covers all the bases.

Thank you Adam

Cheers

Mike

On 7/08/2023 12:28 pm, Mike Dewhirst wrote:

On 6/08/2023 9:17 pm, Chetan Ganji wrote:

Thanks Chetan

I have seen that 'icu' and 'und-whatever...' in various places on the 
web - so it seems to be spreading - but I haven't had the brainspace 
to understand it yet.


I'll try an experiment with provider='C' and locale='C' because that 
is how most of my databases are already established. If that passes my 
tests I might move on to other things.


From what I can see, PostgreSQL are likely to deprecate citext as 
inelegant. That would be why Django has deprecated it.


Thanks again.

Mike


Check this out.
https://gist.github.com/hleroy/2f3c6b00f284180da10ed9d20bf9240a

# According to Django documentation, it’s preferable to use 
non-deterministic collations

# instead of the citext extension for Postgres > 12.
# Example migation to create the case insensitive collation
class Migration(migrations.Migration):
operations = [
CreateCollation(
'case_insensitive',
provider='icu',
locale='und-u-ks-level2',
deterministic=False
)
]
# Example model using the new db_collation parameter introduced with 
Django 3.2

class Tag(models.Model):
name = models.CharField(max_length=50, db_collation='case_insensitive')
class Meta:
ordering = ['name']
def __str__(self):
return self.name

Regards,
Chetan Ganji
+91-900-483-4183
ganji.che...@gmail.com
http://ryucoder.in


On Sun, Aug 6, 2023 at 12:32 PM Mike Dewhirst  
wrote:


On 5/08/2023 7:58 pm, Chetan Ganji wrote:

Hi Mike

RE: The primary use case is to establish case-insensitivity when
checking names - including usernames, company names and
abbreviations/acronyms.

I dont know anything about db_collation.


Me neither


Below 4 lookups should solve most common scenarios.


Actually that was how I did it originally. I switched to using
the PostgreSQL CI field because it is all done in the database -
much faster - and my code is much reduced and therefore fewer
possibilities for bugs etc.

Judging from the Django release notes and the PostgreSQL docs
there should be a straightforward answer to my question.
Researching the correct answer is complex enough to make me ask
here first.

Cheers

Mike


https://docs.djangoproject.com/en/4.2/ref/models/querysets/#field-lookups



Regards,
Chetan Ganji
+91-900-483-4183
ganji.che...@gmail.com
http://ryucoder.in


On Sat, Aug 5, 2023 at 1:35 PM Mike Dewhirst
 wrote:

The following warning triggered a bit of research which
looks like a significant amount of study will be required to
find the collation needed ...


django.contrib.postgres.fields.CICharField is deprecated.
Support for it (except in historical migrations) will be
removed in Django 5.1.
    HINT: Use CharField(db_collation="…") with a
case-insensitive non-deterministic collation instead.


Does anyone have experience they would like to share? What
replaces that ellipsis?

The primary use case is to establish case-insensitivity when
checking names - including usernames, company names and
abbreviations/acronyms. Maybe there is a better way to
handle that?

This is my typical PostgreSQL database spec ...

CREATE DATABASE 
    WITH
    OWNER = miked
    ENCODING = 'UTF8'
    LC_COLLATE = 'C'
    LC_CTYPE = 'C'
    TABLESPACE = pg_default
    CONNECTION LIMIT = -1
    IS_TEMPLATE = False;

Many thanks for any help

Cheers

Mike

-- 
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/2eccab9e-e296-55e0-05de-e8d4cf708262%40dewhirst.com.au

.

-- 
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/CAMKMUjuxfeV5m4QiPz1jEyh7fRobqZn7SCp4dnXnjrSOBirh7Q%40mail.gmail.com