Thursday, August 31, 2023

Re: ANYONE TO HELP ME ON HOW TO CREATE AN AUTOMATIC NOTIFICATION SYSTEM THAT SENDS A MESSAGE WHENEVER AN OBJECT IS CREATED OR MODIFIED

First of all - notification - what do you mean by notification?

If you mean that the user should be notified in the instance when someone creates / updates / deletes your models - you will need to have either server side events or websockets to communicate with the frontend. You could also poll the server (for example every 5 minutes) to check for new messages. These solutions would require that you have some javascript on the frontend.

To get this working on the backend - you would then need some sort of changes in the save method to send the notifications to the frontend. This could be as simple as creating a Notification model and then just creating a notification every time you update a model.

Regards,

Andréas


Den tis 22 aug. 2023 kl 16:02 skrev Byansi Samuel <samuelbyansi87@gmail.com>:

My views
from django.shortcuts import render def auto_notification(request): return render (request, "user/dashboard.html")

My models
from django.db import models from django.contrib.auth.models import User

#articles model

class Articles(models.Model):
title = models.CharField(max_length=300) date= models.DateField() author=models.ForeignKey(User, on_delete=models.CASCADE) body=models.TextField()

def __str__(self) -> str:
return self.title

#games model

GAME_TYPE=( ("action", "action"), ("adventure", "adventure"), ("racing", "racing"), ("puzzle", "puzzle"), )

MOV_TYPE=( ("action", "action"), ("adventure", "adventure"), ("sci-fi", "sci-fi"), ("horror", "horror"), ("drama", "drama"), )

GAME_OS=( ("Windows", "Windows"), ("Android", "Android"), )

class Games(models.Model): name=models.CharField(max_length=50) type=models.CharField(max_length=40, choices=GAME_TYPE) os=models.CharField(max_length=15, choices=GAME_OS) img=models.ImageField() developer=models.CharField(max_length=50) version=models.CharField(max_length=10) ratings=models.CharField(max_length=10) description=models.TextField()

def __str__(self) -> str:
return self.name class

Movies(models.Model): name=models.CharField(max_length=50) type=models.CharField(max_length=40, choices=MOV_TYPE) description=models.TextField() released=models.DateField()

def __str__(self) -> str:
return self.name

I have three models below, but l like to create a Notification System to send a message to a User whenever ;
1. An object is created in all those models
2. An object is modified in all those models

And l would like to add trick that it sends the Notification Message after 15 minutes of publiction or creation.

And I would like to pass the following data if available in the object ;
1. the Name of the Object,
2. the Image of the Object, and
3. the type of the Object.

Lastly I would like to add a :
1. Notification DELETE function, that gives User a way to delete that Message , not to appear in his or notification section again.

2. Mark as Read function, that changes the Massage Div Color

3. A notification Barge that displays the UNREAD Messages.

Am requesting anyone to help me Because Am stuck , I have no where to Start from. I will be on waiting your guidelines.

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAGQoQ3wRpg%2BcT69wqUbapHbK7KSEfwU%2BxfJ-EKRCcddY6KwtnA%40mail.gmail.com.

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAK4qSCdBb5kP_eF4_CK4F%2B3ibP_PvmgJetrGJs4a7PBZfxSYGg%40mail.gmail.com.

Re: Django Resolve Choices Class

If you want the string instead of the value, you just use:
entity.get_gender_display()

Django automatically adds these "magic methods" when you have fields that have choices.

You can see this in the documentation:

Regards,

Andréas


Den ons 30 aug. 2023 kl 22:11 skrev sebasti...@gmail.com <sebastian.jung2@gmail.com>:
I have in my 

model.py:

class GendersChoices(models.IntegerChoices):
    M = 0, _('Male')
    F = 1, _('Female')
    N = 2, _('Gender Neutral')

class Address(models.Model):
gender = models.PositiveSmallIntegerField(choices=GendersChoices.choices, blank=True, default=GendersChoices.F, null=True,verbose_name=_('Gender'))

Now i have a entity from Address and when i make entity.gender i get a number from database. But i want when in entity are insert 2 then i want to get _('Gender Neutral') instead of 2

How i can do that?

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/53c122e7-0448-4d67-9cd4-ce11ffa2ef5cn%40googlegroups.com.

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAK4qSCcCrg-VtCdJDFRicqY0WpvNw28SMRR3tAzvaUro69gurw%40mail.gmail.com.

Re: My first Django project

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
BHO6KilQ+QLzSektD8IpHM7tR6P+5PP6AQ==
=NePe
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP SIGNATURE-----

wsD5BAABCAAjFiEEuaZZAb5bdA+ohQ4u5dnKxkqqVesFAmTwShAFAwAAAAAACgkQ5dnKxkqqVetx
Agv/bBy+2VdE4CRrHZiK/8cstuSpOJDPUfTIkRiVOXl//widScwEYVTU4o/xpyl4mmr32Hwm5wwz
hbEHf/qJCNxcUZKn6neHMXwHjzvmjxpo4kYNNPfZnR/UAxG1hMgUDAoJIxqoi+Iu4G4M5YXxyt9A
sn13r9JtC8eeN/G9y47SXB2+6DcG/G0TaIX7ie0/sUuqDezeINu/icu3/BASfS0z/BVaBf8sVqz5
C7Aiil9P6DZBCxYvIPlCjeK3cbTnj1gA3rJWGaRMqYejXQUdr/tEFzhhWcaUQd/2rJoVBUTqBlFf
BWWgpCoR7i7h4i96H7YELvKz7yK7lcesxZOIfJAhamDOVB27XtJ1M29BVzPtgmagwm06kjm3RXe7
RvD5gM0TbJNOIv10ATVz0DwxPm2VcQKK3HnCEnkX2zoUFdhnoLOcLOwoiBOnJgUzWpq0jvZDeOgS
BrhIwdYo3L3PVL332KeoFyLbuEcBgNqVnckDcf6vjwewftPbAvM5dgzZwZWQ
=lY+r
-----END PGP SIGNATURE-----
On 29/08/2023 10.52, Noah Dara wrote:
>
> hi I'm new in Django I need your help my project is retirning the
> following in theterminal PS C:\Users\user\projects> &
> C:/Users/user/.virtualenvs/projects-O4ZjmZLG/Scripts/Activate.ps1
> & : File
> C:\Users\user\.virtualenvs\projects-O4ZjmZLG\Scripts\Activate.ps1 cannot
> be loaded
> because running scripts is disabled on this system. For more
> information, see
> about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.

This is not related to Django but related to Powershell on Windows. Have
you tried reading the information in the link above where it says "for
more information"? That would probably be a good start.

Also don't hijack other threads but start your own instead.

Thanks and kind regards,
Kasper Laudrup

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/f8f3b7bd-1dd9-4c91-9170-ff5283e1d60b%40stacktrace.dk.

Monday, August 28, 2023

Re: How to create an individual instagram message into threads?

I've not used that app but creating email of messaging chains is quite easy. How I normally do it is to generate a unique identifier by using a uuid4 plus some custom values when a new thread/conversation is created and then this is passed and maintained during replies.  There's probably something similar in that app. Emails tend to call it a Conversation ID

On Sunday, 27 August 2023 at 22:19:46 UTC+1 Ram wrote:
Hi,

We are using Instagram clone messaging in our ecommerce application where users contact each other about market place item (sell/buy items). Once the messaging started between two users on an item
1. we want to keep the further messaging regarding that item to be continued like an email thread so that all the messaging about that item will be in one thread.
2. New messaging on new market place item will be again new thread.
3. It would be nice each thread has a title of the market place item so that same users can go back to previous history of messages on that particular item whenever they want.

I'm wondering whether anyone has implemented the above features using instagram clone in your Django application?

Best regards,
~Ram

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/099349c1-bfc4-42e8-8178-50141c7640d0n%40googlegroups.com.

Sunday, August 27, 2023

Re: How to access gmail

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
BHO6KilQ+QLzSektD8IpHM7tR6P+5PP6AQ==
=NePe
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP SIGNATURE-----

wsD5BAABCAAjFiEEuaZZAb5bdA+ohQ4u5dnKxkqqVesFAmTrlF8FAwAAAAAACgkQ5dnKxkqqVeta
4wv/RNPmr/xfshyMNO/iSwYyzhFnIZhhQVm3KqF8Zr3A+/+uHRqtsktp3R050e+3mWu43snPrx8L
EE8gUi/AIZXrmFBWCiyUIkvK8PmO4uJpNeAHmV7bL+dmGX7O/6F2rYcqsq+KVt0AMjKT/gIwuskL
PD7s75d98dZ86q15d/DxWwvcGFcNZdCjxO9zKKRhFwZiUgM/XiLx+nEfbjrynJEBqE+4uK84jXck
PhkNeEqEnspuNhWQreioSPUp2M59ji0FrIXpG4IWujG67o3XVbF2JszJ2nnPd/Q6nSZlbZSH0ipb
NEFe+6b6JmrgCijTABxBulBKjOHvmn+IjNUbIm2Uf015/TG+jnK1vAVR2vQuXKVw70Ot9sY93EQI
3L76yt2OzrGif/1EfIemecFyKuCR0yTiRIvVbmeLNHdEdRFixU1Xh43nUjYqzO/0Pk2LnINq1xIq
z2Oh7VrrsPmjpUCm+lmP8dMsGZcVWjML0k828Kx7BzVloUEvQ2PKh0yLuoL4
=eta8
-----END PGP SIGNATURE-----
On 26/08/2023 13.59, TASLIMA S wrote:
>
> Dear friends,
> I am developing an email signature web application.
> How to access gmail mails to my application.
>

https://developers.google.com/gmail/api/guides

Kind regards,
Kasper Laudrup

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/2e0feaab-2b9d-4901-9546-299a81e5ac3e%40stacktrace.dk.

Re: UpdateView and DeleteView

-----BEGIN PGP SIGNATURE-----
Version: ProtonMail

wnUEARYKACcFgmTrCnoJkFrvKC74ta6lFiEEXOYF9uqFRn4815bYWu8oLvi1
rqUAAHD6AP4wuIwRXTjN3RwKZrkmbmkchDYKNj8QggwXfNhI1bke1AEAgqum
bKbtyz2gKRDV51XqZqVoKgAv3kAa1mAPTX2xBAI=
=C5BF
-----END PGP SIGNATURE-----

Will do! Thank you for your help.

------- Original Message -------
On Saturday, August 26th, 2023 at 19:30, Ruby <dev.rubyshell@gmail.com> wrote:

I'm glad it worked out,
Consider using LoginRequiredMixin to ensure that current user is authenticated before accessing the view.


On Sat, Aug 26, 2023, 16:23 'Simon Connah' via Django users <django-users@googlegroups.com> wrote:
Thank you! That is very helpful.

------- Original Message -------
On Saturday, August 26th, 2023 at 14:07, Ruby <dev.rubyshell@gmail.com> wrote:

You can simply set a test case using the built-in user passes test (https://docs.djangoproject.com/en/4.2/topics/auth/default/#django.contrib.auth.decorators.user_passes_test)

On Sat, Aug 26, 2023, 11:20 'Simon Connah' via Django users <django-users@googlegroups.com> wrote:
I want to make sure that the only people who can update and delete an object are either superusers or the person that originally created them but I'm not sure how to go about doing it. Can someone point me in the right direction?

I'm not sure which method(s) to override.

Thank you.


--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/iT1fh6Btk96LInLjgvQNNIOeqZTL6TMcV5IbsAmfVdnR1ujaNPCbV_zhJeXr5o7emCHzK_BHnYDtyxQ1ZJVu7oDGqyDRkJirWsaGto-5bbA%3D%40protonmail.com.

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAPUD46vM6PEJK4btLa-DCF8-VvExdnJ2OpzB0-Z6h03CVWvzOg%40mail.gmail.com.

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/nMbslf1DnsTi42UmcaQZjvuHxoVVxPQapPAABp-aN5zswI1iBp61YS-J9IwUsRPyTb_87IJsY5rMktNRS9h6rY57zUjT_4fJzdSU8Dxuiec%3D%40protonmail.com.

Saturday, August 26, 2023

Re: Unable to display records in form

Share your your templates as well


On August 21, 2023 12:23:35 AM CDT, GLOBAL ENGINEERING ACADEMY <geakylm@gmail.com> wrote:
Hai, 
I am trying to learn django on my own. I have created a small project of a shop. I am able to insert items but when i try to fetch items for updating / deleting, the form is not populated . only the primary key is shown.
 def updatedeleteitem(request):
    item=None
    updatedeleteform=None
    if request.method=='POST':
        keysearchform=KeysearchForm(request.POST)
        if keysearchform.is_valid():
            itemcode=keysearchform.cleaned_data['itemcode']
            try:
                item=Item.objects.get(itemcode=itemcode)
                updatedeleteform=UpdatedeleteForm(request.POST, instance=item)
                           
                if updatedeleteform.is_valid():
                    updatedeleteform.save()
                    transaction.commit()
                    return redirect('itemlist')
            except Item.DoesNotExist:
                pass
    else:
        keysearchform=KeysearchForm()
       
    return render(request,'updatedeleteitem.html',
                  {'keysearchform' : keysearchform,
                   'updatedeleteform' : updatedeleteform, 'item' : item})
___________________________________________________________________
class UpdatedeleteForm(forms.ModelForm):
    class Meta:
        model=Item
        fields=['itemcode', 'itemname', 'unitpr', 'qty']
       
class KeysearchForm(forms.Form):
    itemcode=forms.CharField(label='item code', max_length=5)
   

These are the view & Forms I am using. Please help.
 

UpdateView and DeleteView

-----BEGIN PGP SIGNATURE-----
Version: ProtonMail

wnUEARYKACcFgmTp0YkJkFrvKC74ta6lFiEEXOYF9uqFRn4815bYWu8oLvi1
rqUAALfUAP9IXS8CSOvH/BwW5tcVfXTgT2YTWrVx5WcLK9ol8uby3QD+JnK7
i4+jcEjZvdfJBQ0H6EfllzQvwYYCos/KLHh2dg4=
=TFwU
-----END PGP SIGNATURE-----

I want to make sure that the only people who can update and delete an object are either superusers or the person that originally created them but I'm not sure how to go about doing it. Can someone point me in the right direction?

I'm not sure which method(s) to override.

Thank you.

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/RC50Lr8yv1j7M_cjvPHLpvLJ1RzHJP3QQaF5oQu4vAmfeijfMbprfVyyHGTIvg9udwKhe_-XcM9tYH9tRyaX-MDQauXKf3PiJbMOq2hEfj4%3D%40protonmail.com.

Wednesday, August 23, 2023

Re: Error while showing detailed post

Hi Raghavan,

Thank you so much for the response, 

I have fixed the issue, But still facing one issue in uploading images while adding the post, 

I have created one model for the post 
class post(models.Model):
   
    title=models.CharField(max_length=200)
    author=models.CharField(max_length=100)
    Discription=models.CharField(max_length=350)
    Detailed_post=models.CharField(max_length=1500)
    img=models.ImageField(upload_to='media')
    def __str__(self):
        return self.title

And the I user model form to display the from in frontend 

class postForm(ModelForm):
    class Meta:
        model=post
        fields=["title",'author','Discription', 'Detailed_post','img']      
        widgets = {
            'title': TextInput(attrs={'class': 'input-name', 'style':'width:400px; '}),
            'author':TextInput(attrs={'class': 'input-author', 'style':'width:400px; '}),
            'Discription':Textarea(attrs={'class': 'input-Discription', 'style':'width:400px; '}),
            'Detailed_post':Textarea(attrs={'class': 'input-Detailed_post', 'style':'width:400px; '}),
           
        }




and my view is  
def add_post(request):
    if request.method=="POST":
        form=postForm(request.POST)
       
        if form.is_valid():
            form.save()
            return redirect('/News_post')
        else:  
            return HttpResponse("<h1>There is some Error your Post is not added</h1>")
    else:
        form=postForm()
    return render(request, 'add_post.html',{'form':form})


When submitting the form it's aware of hitting the else part, and when i remove the img its works fine





Thanks & Regard Dhiraj Kumar
Mobile No. : 9643843355, EXT: 250




On Tue, Aug 22, 2023 at 9:59 PM Mvd Raghava <mvdr20@gmail.com> wrote:
what issue are you facing. please send the error

On Sat, Aug 19, 2023 at 9:03 PM Dhiraj Kumar <dhiraj@nimbusitsolutions.com> wrote:
Hi new in Django, 

I want to display details post to the template but facing issue while trying to fetch post by id on the click of Continue Reading
Views.py

def show(request, id):
    print(id)
    try:
        showPost = post.objects.get(id=id)  # Assuming your model is named 'post'
    except post.DoesNotExist:
        # Handle the case where the post with the given ID doesn't exist
        raise Http404("Post does not exist")

    return render(request, 'show_post.html', {'showPost': showPost})




Urls.py 
from django.urls import path
from news import views
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('',views.home, name='home' ),
    path('about', views.about, name="about"),
    path('contact', views.contact, name="contact"),
    path('News_post', views.News_post, name='News_post'),
    path('add_post',views.add_post,name='add_post'),
    path('show/<int:id>/', views.show, name='show')

]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)










Thanks & Regard Dhiraj Kumar
Mobile No. : 9643843355, EXT: 250


--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAAdfw9TdfFir%2BiFUyGxAhzWLdpDCtfSZr2ZPhi7DJrUauJUn-w%40mail.gmail.com.

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAFfOSBnje%3DqkUBaa8ZFrLLZ7Fme7-DWE-px1LpbT06b3yvmHKg%40mail.gmail.com.

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAAdfw9S3MpiBeebBRaO62kEkWg_wj82KY56C2zEpJn82L3kTvw%40mail.gmail.com.

Tuesday, August 22, 2023

Re: AWS Polly w/ strictly Django and Javascript

Since Polly is an AWS service, you can use boto, the standard Python library:

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/polly.html


On August 14, 2023 4:26:09 PM CDT, Lightning Bit <thelegendofearthreturns@gmail.com> 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". 


Saturday, August 19, 2023

Error while showing detailed post

Hi new in Django, 

I want to display details post to the template but facing issue while trying to fetch post by id on the click of Continue Reading
Views.py

def show(request, id):
    print(id)
    try:
        showPost = post.objects.get(id=id)  # Assuming your model is named 'post'
    except post.DoesNotExist:
        # Handle the case where the post with the given ID doesn't exist
        raise Http404("Post does not exist")

    return render(request, 'show_post.html', {'showPost': showPost})




Urls.py 
from django.urls import path
from news import views
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('',views.home, name='home' ),
    path('about', views.about, name="about"),
    path('contact', views.contact, name="contact"),
    path('News_post', views.News_post, name='News_post'),
    path('add_post',views.add_post,name='add_post'),
    path('show/<int:id>/', views.show, name='show')

]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)










Thanks & Regard Dhiraj Kumar
Mobile No. : 9643843355, EXT: 250


--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAAdfw9TdfFir%2BiFUyGxAhzWLdpDCtfSZr2ZPhi7DJrUauJUn-w%40mail.gmail.com.

Thursday, August 17, 2023

Re: Case-insensitive non-deterministic collation

On 18/08/2023 12:34 pm, Vitor Freitas wrote:
Hi Mike,

On Tue, Aug 15, 2023 at 4:30 AM Mike Dewhirst <miked@dewhirst.com.au> wrote:

This is a great reference. It helped me out with the migration from postgresql ci fields to db collations.

Everything about this is new for me as well. I'm sure the db collation strategy is more powerful and I can see the benefits.

However, the postgresql ci fields were way easier to implement.

I agree


Right now I'm testing it out on a smaller project. One problem that I'm currently facing is that exposing some fields that have the db_collation configuration to django-filters or to Django Admin search parameters are causing an exception:

NotSupportedError
nondeterministic collations are not supported for LIKE

Yes. I got the same error ...

https://code.djangoproject.com/ticket/33901   closed Bug (fixed)

From the discussion in that ticket I got the impression that maybe I should postpone using collations until after I upgrade from Django 3.2 to 4.2.

I was using a very similar collation.

I have already removed my CI fields so I won't put them back.

I manually (__iexact) check to prevent duplicate names for users and companies and the sorting is not critical for me at the moment.

I think I'll avoid collations for now. I'm running out of brainspace and don't have the time to do the exhaustive research needed to correctly define a bug for a new ticket. I'll press on with workarounds until I'm absolutely forced to upgrade to 4.2 and hope that some generous soul has sorted it out by then.

The fact is it is new for PostgreSQL as well as Django so it isn't surprising to see such wrinkles.

Cheers

Mike


This is the collation that I'm using:

CreateCollation(
  "case_insensitive",
  provider="icu",
  locale="und-u-ks-level2",
  deterministic=False,
)

Anyway, all the icu / und-u-ks stuff look a little bit confusing. It would be good to have some guidelines or some quick recipes on the docs that would help us out making the migration :-)

Kind regards,
Vitor
 


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


On Sun, Aug 6, 2023 at 12:32 PM Mike Dewhirst <miked@dewhirst.com.au> 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


On Sat, Aug 5, 2023 at 1:35 PM Mike Dewhirst <miked@dewhirst.com.au> 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 xxxx
    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+unsubscribe@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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAMKMUjuxfeV5m4QiPz1jEyh7fRobqZn7SCp4dnXnjrSOBirh7Q%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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/e3d57fb4-5899-a04c-f2b8-f39591c978c7%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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAMKMUju4y_H%2BDUr1qn0Y4eNjYC_o%2BzCe5PNRiLctUZxfos5TSA%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.  

--   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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/62ca89e9-f31e-7b78-3e7e-195692a0e728%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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAJ4iidooT7Ei9bkCPT394eA8S_aZfNxBTJ5WSFKTwAmfsgM5YA%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.  

Re: Road Map for a newbie

On 17/08/2023 7:24 pm, Tesfaye Yimam wrote:
Hello all,

This is my second day of learning Django. I am comfortable with python (the basics and the OOP).
I wanted to have some guidance from this community to learn Djanog by taking small steps in a consistent way.
Any one who has a road-map, especially if you tried it and worked for you,  that will greatly help me in the learning process of Django. So, please drop me a message here.
I'm happy to be here.

Welcome!

There would be no better way to start than working through the tutorial in the docs, step by step ...

https://docs.djangoproject.com/en/4.2/

Afterwards, you should decide/specify your own project and when the spec is more or less settled you should set it up as a fresh project and make it happen.

The critical part of learning Django is the specification of what you want. Personally, I keep the (excellent) docs permanently open in my browser so I can research how to achieve what I want to happen.

You will discover that Django takes a couple of different paths and you need to choose. Both are valid but I chose functional views rather than class-based views.

My reasons were that functional views seem simpler and allowed me absolute flexibility. I felt that class-based views while brilliant were more difficult for me. YMMV.

Also, Django now allows async programming. That's a bit too advanced for me - at least until it becomes necessary.

Good luck


--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/e9724d36-e07b-42b2-8902-6a8294c695b5n%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.  

Re: hello forks, i need help

thanks a lot


Le jeu. 17 août 2023 à 16:38, ivan harold <ivanharold0728@gmail.com> a écrit :
https://www.w3schools.com/django/django_admin_create_user.php 
check this one out.

On Thursday, August 17, 2023 at 8:26:29 AM UTC-5 Abdoulaye SENE wrote:
i have created a group named adminis. how to create users in the group using django admin

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/78b972b4-dee8-4a69-bc40-fd804f3dc4d3n%40googlegroups.com.

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAK9RMT2DRKUkiVUufEzcya%3Dh91%2BMfQuQS%2BLQhcy5J2XTG406Sw%40mail.gmail.com.

Tuesday, August 15, 2023

Re: AWS Polly w/ strictly Django and Javascript

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+unsubscribe@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.  

Re: Case-insensitive non-deterministic collation

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


On Sun, Aug 6, 2023 at 12:32 PM Mike Dewhirst <miked@dewhirst.com.au> 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


On Sat, Aug 5, 2023 at 1:35 PM Mike Dewhirst <miked@dewhirst.com.au> 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 xxxx
    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+unsubscribe@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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAMKMUjuxfeV5m4QiPz1jEyh7fRobqZn7SCp4dnXnjrSOBirh7Q%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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/e3d57fb4-5899-a04c-f2b8-f39591c978c7%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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAMKMUju4y_H%2BDUr1qn0Y4eNjYC_o%2BzCe5PNRiLctUZxfos5TSA%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.  

--   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.