diff --git a/.idea/dbnavigator.xml b/.idea/dbnavigator.xml
new file mode 100644
index 00000000..c7a8a852
--- /dev/null
+++ b/.idea/dbnavigator.xml
@@ -0,0 +1,400 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/helloworld.iml b/.idea/helloworld.iml
index b1023c6e..a866a7b4 100644
--- a/.idea/helloworld.iml
+++ b/.idea/helloworld.iml
@@ -14,7 +14,7 @@
-
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 812ab5a6..911f0e30 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,5 +3,8 @@
-
+
+
+
+
\ No newline at end of file
diff --git a/helloworld/__pycache__/__init__.cpython-311.pyc b/helloworld/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 00000000..821df692
Binary files /dev/null and b/helloworld/__pycache__/__init__.cpython-311.pyc differ
diff --git a/helloworld/__pycache__/settings.cpython-311.pyc b/helloworld/__pycache__/settings.cpython-311.pyc
new file mode 100644
index 00000000..c9547f1c
Binary files /dev/null and b/helloworld/__pycache__/settings.cpython-311.pyc differ
diff --git a/helloworld/__pycache__/urls.cpython-311.pyc b/helloworld/__pycache__/urls.cpython-311.pyc
new file mode 100644
index 00000000..b64eb865
Binary files /dev/null and b/helloworld/__pycache__/urls.cpython-311.pyc differ
diff --git a/helloworld/__pycache__/wsgi.cpython-311.pyc b/helloworld/__pycache__/wsgi.cpython-311.pyc
new file mode 100644
index 00000000..a9f2207b
Binary files /dev/null and b/helloworld/__pycache__/wsgi.cpython-311.pyc differ
diff --git a/library/__pycache__/__init__.cpython-311.pyc b/library/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 00000000..90d6c998
Binary files /dev/null and b/library/__pycache__/__init__.cpython-311.pyc differ
diff --git a/library/__pycache__/admin.cpython-311.pyc b/library/__pycache__/admin.cpython-311.pyc
new file mode 100644
index 00000000..27f37ab8
Binary files /dev/null and b/library/__pycache__/admin.cpython-311.pyc differ
diff --git a/library/__pycache__/apps.cpython-311.pyc b/library/__pycache__/apps.cpython-311.pyc
new file mode 100644
index 00000000..9b9d8797
Binary files /dev/null and b/library/__pycache__/apps.cpython-311.pyc differ
diff --git a/library/__pycache__/models.cpython-311.pyc b/library/__pycache__/models.cpython-311.pyc
new file mode 100644
index 00000000..aa80f42c
Binary files /dev/null and b/library/__pycache__/models.cpython-311.pyc differ
diff --git a/library/__pycache__/serializer.cpython-311.pyc b/library/__pycache__/serializer.cpython-311.pyc
new file mode 100644
index 00000000..ac92c8ef
Binary files /dev/null and b/library/__pycache__/serializer.cpython-311.pyc differ
diff --git a/library/__pycache__/urls.cpython-311.pyc b/library/__pycache__/urls.cpython-311.pyc
new file mode 100644
index 00000000..64ea8135
Binary files /dev/null and b/library/__pycache__/urls.cpython-311.pyc differ
diff --git a/library/__pycache__/views.cpython-311.pyc b/library/__pycache__/views.cpython-311.pyc
new file mode 100644
index 00000000..c7e8a5dc
Binary files /dev/null and b/library/__pycache__/views.cpython-311.pyc differ
diff --git a/library/admin.py b/library/admin.py
index 8c38f3f3..db20bf1f 100644
--- a/library/admin.py
+++ b/library/admin.py
@@ -1,3 +1,9 @@
from django.contrib import admin
+from library.models import Author, Book
+
# Register your models here.
+
+admin.site.register(Author)
+admin.site.register(Book)
+
diff --git a/library/migrations/__pycache__/0001_initial.cpython-311.pyc b/library/migrations/__pycache__/0001_initial.cpython-311.pyc
new file mode 100644
index 00000000..67fad3bd
Binary files /dev/null and b/library/migrations/__pycache__/0001_initial.cpython-311.pyc differ
diff --git a/library/migrations/__pycache__/0002_book_publish_date.cpython-311.pyc b/library/migrations/__pycache__/0002_book_publish_date.cpython-311.pyc
new file mode 100644
index 00000000..13d7b682
Binary files /dev/null and b/library/migrations/__pycache__/0002_book_publish_date.cpython-311.pyc differ
diff --git a/library/migrations/__pycache__/__init__.cpython-311.pyc b/library/migrations/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 00000000..e1dfb3ad
Binary files /dev/null and b/library/migrations/__pycache__/__init__.cpython-311.pyc differ
diff --git a/library/urls.py b/library/urls.py
index b4361e4d..b4b2995f 100644
--- a/library/urls.py
+++ b/library/urls.py
@@ -5,4 +5,6 @@
urlpatterns = [
path('createbook/', views.create_book, name='createbook'),
path('createAuthor/', views.create_author, name='createauthor'),
+ path('book//', views.get_by_book_id, name='get_book_by_id'),
+ path('author//', views.get_by_author_id, name='get_by_author_id'),
]
\ No newline at end of file
diff --git a/library/views.py b/library/views.py
index 4f40abfa..bfc6107c 100644
--- a/library/views.py
+++ b/library/views.py
@@ -3,6 +3,7 @@
from rest_framework.decorators import api_view
from rest_framework.response import Response
+from library.models import Book, Author
from library.serializer import BookSerializer, AuthorSerializer
@@ -30,5 +31,33 @@ def create_author(request):
return Response(author_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
+
# TODO: GET BOOK BY ID and return json response..
-# TODO: GET AUTHOR BY ID and return json response..
\ No newline at end of file
+# TODO: GET AUTHOR BY ID and return json response..
+
+
+@api_view(['GET'])
+def get_by_book_id(request, id):
+ try:
+ book = Book.objects.get(id=id)
+ except Book.DoesNotExist:
+ # If the book isn't found, return a 404 response
+ return Response({"error": "Book not found"}, status=status.HTTP_404_NOT_FOUND)
+
+ book_serializer = BookSerializer(book)
+ return Response(book_serializer.data, status = status.HTTP_200_OK)
+
+
+@api_view(['GET'])
+def get_by_author_id(request, id):
+ try:
+ author = Author.objects.get(id=id)
+ except Author.DoesNotExist:
+ return Response({"error": "Author not found"}, status=status.HTTP_404_NOT_FOUND)
+
+ author_serializer = AuthorSerializer(author)
+ return Response(author_serializer.data, status= status.HTTP_200_OK)
+
+
+
+
diff --git a/tryHello/__pycache__/__init__.cpython-311.pyc b/tryHello/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 00000000..b03393de
Binary files /dev/null and b/tryHello/__pycache__/__init__.cpython-311.pyc differ
diff --git a/tryHello/__pycache__/admin.cpython-311.pyc b/tryHello/__pycache__/admin.cpython-311.pyc
new file mode 100644
index 00000000..c3d37cca
Binary files /dev/null and b/tryHello/__pycache__/admin.cpython-311.pyc differ
diff --git a/tryHello/__pycache__/apps.cpython-311.pyc b/tryHello/__pycache__/apps.cpython-311.pyc
new file mode 100644
index 00000000..5416e843
Binary files /dev/null and b/tryHello/__pycache__/apps.cpython-311.pyc differ
diff --git a/tryHello/__pycache__/models.cpython-311.pyc b/tryHello/__pycache__/models.cpython-311.pyc
new file mode 100644
index 00000000..e4e491de
Binary files /dev/null and b/tryHello/__pycache__/models.cpython-311.pyc differ
diff --git a/tryHello/__pycache__/urls.cpython-311.pyc b/tryHello/__pycache__/urls.cpython-311.pyc
new file mode 100644
index 00000000..a40bd7ca
Binary files /dev/null and b/tryHello/__pycache__/urls.cpython-311.pyc differ
diff --git a/tryHello/__pycache__/views.cpython-311.pyc b/tryHello/__pycache__/views.cpython-311.pyc
new file mode 100644
index 00000000..9371a062
Binary files /dev/null and b/tryHello/__pycache__/views.cpython-311.pyc differ
diff --git a/tryHello/migrations/__pycache__/0001_initial.cpython-311.pyc b/tryHello/migrations/__pycache__/0001_initial.cpython-311.pyc
new file mode 100644
index 00000000..4d7a1a92
Binary files /dev/null and b/tryHello/migrations/__pycache__/0001_initial.cpython-311.pyc differ
diff --git a/tryHello/migrations/__pycache__/0002_enrollment_is_active.cpython-311.pyc b/tryHello/migrations/__pycache__/0002_enrollment_is_active.cpython-311.pyc
new file mode 100644
index 00000000..d09f94ad
Binary files /dev/null and b/tryHello/migrations/__pycache__/0002_enrollment_is_active.cpython-311.pyc differ
diff --git a/tryHello/migrations/__pycache__/0003_testtable.cpython-311.pyc b/tryHello/migrations/__pycache__/0003_testtable.cpython-311.pyc
new file mode 100644
index 00000000..fa687359
Binary files /dev/null and b/tryHello/migrations/__pycache__/0003_testtable.cpython-311.pyc differ
diff --git a/tryHello/migrations/__pycache__/__init__.cpython-311.pyc b/tryHello/migrations/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 00000000..75d8f939
Binary files /dev/null and b/tryHello/migrations/__pycache__/__init__.cpython-311.pyc differ
diff --git a/venv/bin/Activate.ps1 b/venv/bin/Activate.ps1
new file mode 100644
index 00000000..b49d77ba
--- /dev/null
+++ b/venv/bin/Activate.ps1
@@ -0,0 +1,247 @@
+<#
+.Synopsis
+Activate a Python virtual environment for the current PowerShell session.
+
+.Description
+Pushes the python executable for a virtual environment to the front of the
+$Env:PATH environment variable and sets the prompt to signify that you are
+in a Python virtual environment. Makes use of the command line switches as
+well as the `pyvenv.cfg` file values present in the virtual environment.
+
+.Parameter VenvDir
+Path to the directory that contains the virtual environment to activate. The
+default value for this is the parent of the directory that the Activate.ps1
+script is located within.
+
+.Parameter Prompt
+The prompt prefix to display when this virtual environment is activated. By
+default, this prompt is the name of the virtual environment folder (VenvDir)
+surrounded by parentheses and followed by a single space (ie. '(.venv) ').
+
+.Example
+Activate.ps1
+Activates the Python virtual environment that contains the Activate.ps1 script.
+
+.Example
+Activate.ps1 -Verbose
+Activates the Python virtual environment that contains the Activate.ps1 script,
+and shows extra information about the activation as it executes.
+
+.Example
+Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv
+Activates the Python virtual environment located in the specified location.
+
+.Example
+Activate.ps1 -Prompt "MyPython"
+Activates the Python virtual environment that contains the Activate.ps1 script,
+and prefixes the current prompt with the specified string (surrounded in
+parentheses) while the virtual environment is active.
+
+.Notes
+On Windows, it may be required to enable this Activate.ps1 script by setting the
+execution policy for the user. You can do this by issuing the following PowerShell
+command:
+
+PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
+
+For more information on Execution Policies:
+https://go.microsoft.com/fwlink/?LinkID=135170
+
+#>
+Param(
+ [Parameter(Mandatory = $false)]
+ [String]
+ $VenvDir,
+ [Parameter(Mandatory = $false)]
+ [String]
+ $Prompt
+)
+
+<# Function declarations --------------------------------------------------- #>
+
+<#
+.Synopsis
+Remove all shell session elements added by the Activate script, including the
+addition of the virtual environment's Python executable from the beginning of
+the PATH variable.
+
+.Parameter NonDestructive
+If present, do not remove this function from the global namespace for the
+session.
+
+#>
+function global:deactivate ([switch]$NonDestructive) {
+ # Revert to original values
+
+ # The prior prompt:
+ if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) {
+ Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt
+ Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT
+ }
+
+ # The prior PYTHONHOME:
+ if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) {
+ Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME
+ Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME
+ }
+
+ # The prior PATH:
+ if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) {
+ Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH
+ Remove-Item -Path Env:_OLD_VIRTUAL_PATH
+ }
+
+ # Just remove the VIRTUAL_ENV altogether:
+ if (Test-Path -Path Env:VIRTUAL_ENV) {
+ Remove-Item -Path env:VIRTUAL_ENV
+ }
+
+ # Just remove VIRTUAL_ENV_PROMPT altogether.
+ if (Test-Path -Path Env:VIRTUAL_ENV_PROMPT) {
+ Remove-Item -Path env:VIRTUAL_ENV_PROMPT
+ }
+
+ # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether:
+ if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) {
+ Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force
+ }
+
+ # Leave deactivate function in the global namespace if requested:
+ if (-not $NonDestructive) {
+ Remove-Item -Path function:deactivate
+ }
+}
+
+<#
+.Description
+Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the
+given folder, and returns them in a map.
+
+For each line in the pyvenv.cfg file, if that line can be parsed into exactly
+two strings separated by `=` (with any amount of whitespace surrounding the =)
+then it is considered a `key = value` line. The left hand string is the key,
+the right hand is the value.
+
+If the value starts with a `'` or a `"` then the first and last character is
+stripped from the value before being captured.
+
+.Parameter ConfigDir
+Path to the directory that contains the `pyvenv.cfg` file.
+#>
+function Get-PyVenvConfig(
+ [String]
+ $ConfigDir
+) {
+ Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg"
+
+ # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue).
+ $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue
+
+ # An empty map will be returned if no config file is found.
+ $pyvenvConfig = @{ }
+
+ if ($pyvenvConfigPath) {
+
+ Write-Verbose "File exists, parse `key = value` lines"
+ $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath
+
+ $pyvenvConfigContent | ForEach-Object {
+ $keyval = $PSItem -split "\s*=\s*", 2
+ if ($keyval[0] -and $keyval[1]) {
+ $val = $keyval[1]
+
+ # Remove extraneous quotations around a string value.
+ if ("'""".Contains($val.Substring(0, 1))) {
+ $val = $val.Substring(1, $val.Length - 2)
+ }
+
+ $pyvenvConfig[$keyval[0]] = $val
+ Write-Verbose "Adding Key: '$($keyval[0])'='$val'"
+ }
+ }
+ }
+ return $pyvenvConfig
+}
+
+
+<# Begin Activate script --------------------------------------------------- #>
+
+# Determine the containing directory of this script
+$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
+$VenvExecDir = Get-Item -Path $VenvExecPath
+
+Write-Verbose "Activation script is located in path: '$VenvExecPath'"
+Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)"
+Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)"
+
+# Set values required in priority: CmdLine, ConfigFile, Default
+# First, get the location of the virtual environment, it might not be
+# VenvExecDir if specified on the command line.
+if ($VenvDir) {
+ Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values"
+}
+else {
+ Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir."
+ $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/")
+ Write-Verbose "VenvDir=$VenvDir"
+}
+
+# Next, read the `pyvenv.cfg` file to determine any required value such
+# as `prompt`.
+$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir
+
+# Next, set the prompt from the command line, or the config file, or
+# just use the name of the virtual environment folder.
+if ($Prompt) {
+ Write-Verbose "Prompt specified as argument, using '$Prompt'"
+}
+else {
+ Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value"
+ if ($pyvenvCfg -and $pyvenvCfg['prompt']) {
+ Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'"
+ $Prompt = $pyvenvCfg['prompt'];
+ }
+ else {
+ Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virtual environment)"
+ Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'"
+ $Prompt = Split-Path -Path $venvDir -Leaf
+ }
+}
+
+Write-Verbose "Prompt = '$Prompt'"
+Write-Verbose "VenvDir='$VenvDir'"
+
+# Deactivate any currently active virtual environment, but leave the
+# deactivate function in place.
+deactivate -nondestructive
+
+# Now set the environment variable VIRTUAL_ENV, used by many tools to determine
+# that there is an activated venv.
+$env:VIRTUAL_ENV = $VenvDir
+
+if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) {
+
+ Write-Verbose "Setting prompt to '$Prompt'"
+
+ # Set the prompt to include the env name
+ # Make sure _OLD_VIRTUAL_PROMPT is global
+ function global:_OLD_VIRTUAL_PROMPT { "" }
+ Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT
+ New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt
+
+ function global:prompt {
+ Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) "
+ _OLD_VIRTUAL_PROMPT
+ }
+ $env:VIRTUAL_ENV_PROMPT = $Prompt
+}
+
+# Clear PYTHONHOME
+if (Test-Path -Path Env:PYTHONHOME) {
+ Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME
+ Remove-Item -Path Env:PYTHONHOME
+}
+
+# Add the venv to the PATH
+Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH
+$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH"
diff --git a/venv/bin/activate b/venv/bin/activate
new file mode 100644
index 00000000..55585a87
--- /dev/null
+++ b/venv/bin/activate
@@ -0,0 +1,69 @@
+# This file must be used with "source bin/activate" *from bash*
+# you cannot run it directly
+
+deactivate () {
+ # reset old environment variables
+ if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
+ PATH="${_OLD_VIRTUAL_PATH:-}"
+ export PATH
+ unset _OLD_VIRTUAL_PATH
+ fi
+ if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
+ PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
+ export PYTHONHOME
+ unset _OLD_VIRTUAL_PYTHONHOME
+ fi
+
+ # This should detect bash and zsh, which have a hash command that must
+ # be called to get it to forget past commands. Without forgetting
+ # past commands the $PATH changes we made may not be respected
+ if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
+ hash -r 2> /dev/null
+ fi
+
+ if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
+ PS1="${_OLD_VIRTUAL_PS1:-}"
+ export PS1
+ unset _OLD_VIRTUAL_PS1
+ fi
+
+ unset VIRTUAL_ENV
+ unset VIRTUAL_ENV_PROMPT
+ if [ ! "${1:-}" = "nondestructive" ] ; then
+ # Self destruct!
+ unset -f deactivate
+ fi
+}
+
+# unset irrelevant variables
+deactivate nondestructive
+
+VIRTUAL_ENV="/Users/guggarisathvik/projects/scaler/demoDjangoProject/venv"
+export VIRTUAL_ENV
+
+_OLD_VIRTUAL_PATH="$PATH"
+PATH="$VIRTUAL_ENV/bin:$PATH"
+export PATH
+
+# unset PYTHONHOME if set
+# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
+# could use `if (set -u; : $PYTHONHOME) ;` in bash
+if [ -n "${PYTHONHOME:-}" ] ; then
+ _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
+ unset PYTHONHOME
+fi
+
+if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
+ _OLD_VIRTUAL_PS1="${PS1:-}"
+ PS1="(venv) ${PS1:-}"
+ export PS1
+ VIRTUAL_ENV_PROMPT="(venv) "
+ export VIRTUAL_ENV_PROMPT
+fi
+
+# This should detect bash and zsh, which have a hash command that must
+# be called to get it to forget past commands. Without forgetting
+# past commands the $PATH changes we made may not be respected
+if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
+ hash -r 2> /dev/null
+fi
diff --git a/venv/bin/activate.csh b/venv/bin/activate.csh
new file mode 100644
index 00000000..df39866c
--- /dev/null
+++ b/venv/bin/activate.csh
@@ -0,0 +1,26 @@
+# This file must be used with "source bin/activate.csh" *from csh*.
+# You cannot run it directly.
+# Created by Davide Di Blasi .
+# Ported to Python 3.3 venv by Andrew Svetlov
+
+alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; unsetenv VIRTUAL_ENV_PROMPT; test "\!:*" != "nondestructive" && unalias deactivate'
+
+# Unset irrelevant variables.
+deactivate nondestructive
+
+setenv VIRTUAL_ENV "/Users/guggarisathvik/projects/scaler/demoDjangoProject/venv"
+
+set _OLD_VIRTUAL_PATH="$PATH"
+setenv PATH "$VIRTUAL_ENV/bin:$PATH"
+
+
+set _OLD_VIRTUAL_PROMPT="$prompt"
+
+if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
+ set prompt = "(venv) $prompt"
+ setenv VIRTUAL_ENV_PROMPT "(venv) "
+endif
+
+alias pydoc python -m pydoc
+
+rehash
diff --git a/venv/bin/activate.fish b/venv/bin/activate.fish
new file mode 100644
index 00000000..d7aa0049
--- /dev/null
+++ b/venv/bin/activate.fish
@@ -0,0 +1,69 @@
+# This file must be used with "source /bin/activate.fish" *from fish*
+# (https://fishshell.com/); you cannot run it directly.
+
+function deactivate -d "Exit virtual environment and return to normal shell environment"
+ # reset old environment variables
+ if test -n "$_OLD_VIRTUAL_PATH"
+ set -gx PATH $_OLD_VIRTUAL_PATH
+ set -e _OLD_VIRTUAL_PATH
+ end
+ if test -n "$_OLD_VIRTUAL_PYTHONHOME"
+ set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME
+ set -e _OLD_VIRTUAL_PYTHONHOME
+ end
+
+ if test -n "$_OLD_FISH_PROMPT_OVERRIDE"
+ set -e _OLD_FISH_PROMPT_OVERRIDE
+ # prevents error when using nested fish instances (Issue #93858)
+ if functions -q _old_fish_prompt
+ functions -e fish_prompt
+ functions -c _old_fish_prompt fish_prompt
+ functions -e _old_fish_prompt
+ end
+ end
+
+ set -e VIRTUAL_ENV
+ set -e VIRTUAL_ENV_PROMPT
+ if test "$argv[1]" != "nondestructive"
+ # Self-destruct!
+ functions -e deactivate
+ end
+end
+
+# Unset irrelevant variables.
+deactivate nondestructive
+
+set -gx VIRTUAL_ENV "/Users/guggarisathvik/projects/scaler/demoDjangoProject/venv"
+
+set -gx _OLD_VIRTUAL_PATH $PATH
+set -gx PATH "$VIRTUAL_ENV/bin" $PATH
+
+# Unset PYTHONHOME if set.
+if set -q PYTHONHOME
+ set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME
+ set -e PYTHONHOME
+end
+
+if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
+ # fish uses a function instead of an env var to generate the prompt.
+
+ # Save the current fish_prompt function as the function _old_fish_prompt.
+ functions -c fish_prompt _old_fish_prompt
+
+ # With the original prompt function renamed, we can override with our own.
+ function fish_prompt
+ # Save the return status of the last command.
+ set -l old_status $status
+
+ # Output the venv prompt; color taken from the blue of the Python logo.
+ printf "%s%s%s" (set_color 4B8BBE) "(venv) " (set_color normal)
+
+ # Restore the return status of the previous command.
+ echo "exit $old_status" | .
+ # Output the original/"old" prompt.
+ _old_fish_prompt
+ end
+
+ set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV"
+ set -gx VIRTUAL_ENV_PROMPT "(venv) "
+end
diff --git a/venv/bin/django-admin b/venv/bin/django-admin
new file mode 100755
index 00000000..75f285f2
--- /dev/null
+++ b/venv/bin/django-admin
@@ -0,0 +1,8 @@
+#!/Users/guggarisathvik/projects/scaler/demoDjangoProject/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from django.core.management import execute_from_command_line
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(execute_from_command_line())
diff --git a/venv/bin/pip b/venv/bin/pip
new file mode 100755
index 00000000..cdf12751
--- /dev/null
+++ b/venv/bin/pip
@@ -0,0 +1,8 @@
+#!/Users/guggarisathvik/projects/scaler/demoDjangoProject/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from pip._internal.cli.main import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/venv/bin/pip3 b/venv/bin/pip3
new file mode 100755
index 00000000..cdf12751
--- /dev/null
+++ b/venv/bin/pip3
@@ -0,0 +1,8 @@
+#!/Users/guggarisathvik/projects/scaler/demoDjangoProject/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from pip._internal.cli.main import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/venv/bin/pip3.11 b/venv/bin/pip3.11
new file mode 100755
index 00000000..cdf12751
--- /dev/null
+++ b/venv/bin/pip3.11
@@ -0,0 +1,8 @@
+#!/Users/guggarisathvik/projects/scaler/demoDjangoProject/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from pip._internal.cli.main import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/venv/bin/python b/venv/bin/python
new file mode 120000
index 00000000..fd110678
--- /dev/null
+++ b/venv/bin/python
@@ -0,0 +1 @@
+/Users/guggarisathvik/anaconda3/bin/python
\ No newline at end of file
diff --git a/venv/bin/python3 b/venv/bin/python3
new file mode 120000
index 00000000..d8654aa0
--- /dev/null
+++ b/venv/bin/python3
@@ -0,0 +1 @@
+python
\ No newline at end of file
diff --git a/venv/bin/python3.11 b/venv/bin/python3.11
new file mode 120000
index 00000000..d8654aa0
--- /dev/null
+++ b/venv/bin/python3.11
@@ -0,0 +1 @@
+python
\ No newline at end of file
diff --git a/venv/bin/sqlformat b/venv/bin/sqlformat
new file mode 100755
index 00000000..7367f83b
--- /dev/null
+++ b/venv/bin/sqlformat
@@ -0,0 +1,8 @@
+#!/Users/guggarisathvik/projects/scaler/demoDjangoProject/venv/bin/python
+# -*- coding: utf-8 -*-
+import re
+import sys
+from sqlparse.__main__ import main
+if __name__ == '__main__':
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
+ sys.exit(main())
diff --git a/venv/lib/python3.11/site-packages/Django-5.1.2.dist-info/AUTHORS b/venv/lib/python3.11/site-packages/Django-5.1.2.dist-info/AUTHORS
new file mode 100644
index 00000000..0ba20a21
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/Django-5.1.2.dist-info/AUTHORS
@@ -0,0 +1,1106 @@
+Django was originally created in late 2003 at World Online, the web division
+of the Lawrence Journal-World newspaper in Lawrence, Kansas.
+
+Here is an inevitably incomplete list of MUCH-APPRECIATED CONTRIBUTORS --
+people who have submitted patches, reported bugs, added translations, helped
+answer newbie questions, and generally made Django that much better:
+
+ Aaron Cannon
+ Aaron Linville
+ Aaron Swartz
+ Aaron T. Myers
+ Abeer Upadhyay
+ Abhijeet Viswa
+ Abhinav Patil
+ Abhinav Yadav
+ Abhishek Gautam
+ Abhyudai
+ Adam Allred
+ Adam Bogdał
+ Adam Donaghy
+ Adam Johnson
+ Adam Malinowski
+ Adam Vandenberg
+ Adam Zapletal
+ Ade Lee
+ Adiyat Mubarak
+ Adnan Umer
+ Arslan Noor
+ Adrian Holovaty
+ Adrian Torres
+ Adrien Lemaire
+ Afonso Fernández Nogueira
+ AgarFu
+ Ahmad Alhashemi
+ Ahmad Al-Ibrahim
+ Ahmed Eltawela
+ ajs
+ Akash Agrawal
+ Akash Kumar Sen
+ Akis Kesoglou
+ Aksel Ethem
+ Akshesh Doshi
+ alang@bright-green.com
+ Alasdair Nicol
+ Albert Defler
+ Albert Wang
+ Alcides Fonseca
+ Aldian Fazrihady
+ Alejandro García Ruiz de Oteiza
+ Aleksander Milinkevich
+ Aleksandra Sendecka
+ Aleksi Häkli
+ Alex Dutton
+ Alexander Lazarević
+ Alexander Myodov
+ Alexandr Tatarinov
+ Alex Aktsipetrov
+ Alex Becker
+ Alex Couper
+ Alex Dedul
+ Alex Gaynor
+ Alex Hill
+ Alex Ogier
+ Alex Robbins
+ Alexey Boriskin
+ Alexey Tsivunin
+ Ali Vakilzade
+ Aljaž Košir
+ Aljosa Mohorovic
+ Alokik Vijay
+ Amir Karimi
+ Amit Chakradeo
+ Amit Ramon
+ Amit Upadhyay
+ A. Murat Eren
+ Ana Belen Sarabia
+ Ana Krivokapic
+ Andi Albrecht
+ André Ericson
+ Andrei Kulakov
+ Andreas
+ Andreas Mock
+ Andreas Pelme
+ Andrés Torres Marroquín
+ Andrew Brehaut
+ Andrew Clark
+ Andrew Durdin
+ Andrew Godwin
+ Andrew Miller
+ Andrew Pinkham
+ Andrews Medina
+ Andrew Northall
+ Andriy Sokolovskiy
+ Andy Chosak
+ Andy Dustman
+ Andy Gayton
+ andy@jadedplanet.net
+ Anssi Kääriäinen
+ ant9000@netwise.it
+ Anthony Briggs
+ Anthony Wright
+ Antoine Chéneau
+ Anton Samarchyan
+ Antoni Aloy
+ Antonio Cavedoni
+ Antonis Christofides
+ Antti Haapala
+ Antti Kaihola
+ Anubhav Joshi
+ Anvesh Mishra
+ Anže Pečar
+ Aram Dulyan
+ arien
+ Armin Ronacher
+ Aron Podrigal
+ Arsalan Ghassemi
+ Artem Gnilov
+ Arthur
+ Arthur Jovart
+ Arthur Koziel
+ Arthur Moreira
+ Arthur Rio
+ Arvis Bickovskis
+ Arya Khaligh
+ Aryeh Leib Taurog
+ A S Alam
+ Asif Saif Uddin
+ atlithorn
+ Audrey Roy
+ av0000@mail.ru
+ Axel Haustant
+ Aymeric Augustin
+ Bahadır Kandemir
+ Baishampayan Ghose
+ Baptiste Mispelon
+ Barry Pederson
+ Bartolome Sanchez Salado
+ Barton Ip
+ Bartosz Grabski
+ Bashar Al-Abdulhadi
+ Bastian Kleineidam
+ Batiste Bieler
+ Batman
+ Batuhan Taskaya
+ Baurzhan Ismagulov
+ Ben Dean Kawamura
+ Ben Firshman
+ Ben Godfrey
+ Benjamin Wohlwend
+ Ben Khoo
+ Ben Lomax
+ Ben Slavin
+ Ben Sturmfels
+ Berker Peksag
+ Bernd Schlapsi
+ Bernhard Essl
+ berto
+ Bhuvnesh Sharma
+ Bill Fenner
+ Bjørn Stabell
+ Bo Marchman
+ Bogdan Mateescu
+ Bojan Mihelac
+ Bouke Haarsma
+ Božidar Benko
+ Brad Melin
+ Brandon Chinn
+ Brant Harris
+ Brendan Hayward
+ Brendan Quinn
+ Brenton Simpson
+ Brett Cannon
+ Brett Hoerner
+ Brian Beck
+ Brian Fabian Crain
+ Brian Harring
+ Brian Helba
+ Brian Ray
+ Brian Rosner
+ Bruce Kroeze
+ Bruno Alla
+ Bruno Renié
+ brut.alll@gmail.com
+ Bryan Chow
+ Bryan Veloso
+ bthomas
+ btoll@bestweb.net
+ C8E
+ Caio Ariede
+ Calvin Spealman
+ Cameron Curry
+ Cameron Knight (ckknight)
+ Can Burak Çilingir
+ Can Sarıgöl
+ Carl Meyer
+ Carles Pina i Estany
+ Carlos Eduardo de Paula
+ Carlos Matías de la Torre
+ Carlton Gibson
+ cedric@terramater.net
+ Chad Whitman
+ ChaosKCW
+ Charlie Leifer
+ charly.wilhelm@gmail.com
+ Chason Chaffin
+ Cheng Zhang
+ Chinmoy Chakraborty
+ Chris Adams
+ Chris Beaven
+ Chris Bennett
+ Chris Cahoon
+ Chris Chamberlin
+ Chris Jerdonek
+ Chris Jones
+ Chris Lamb
+ Chris Streeter
+ Christian Barcenas
+ Christian Metts
+ Christian Oudard
+ Christian Tanzer
+ Christoffer Sjöbergsson
+ Christophe Pettus
+ Christopher Adams
+ Christopher Babiak
+ Christopher Lenz
+ Christoph Mędrela
+ Chris Wagner
+ Chris Wesseling
+ Chris Wilson
+ Ciaran McCormick
+ Claude Paroz
+ Clint Ecker
+ colin@owlfish.com
+ Colin Wood
+ Collin Anderson
+ Collin Grady
+ Colton Hicks
+ Craig Blaszczyk
+ crankycoder@gmail.com
+ Curtis Maloney (FunkyBob)
+ dackze+django@gmail.com
+ Dagur Páll Ammendrup
+ Dane Springmeyer
+ Dan Fairs
+ Daniel Alves Barbosa de Oliveira Vaz
+ Daniel Duan
+ Daniele Procida
+ Daniel Fairhead
+ Daniel Greenfeld
+ dAniel hAhler
+ Daniel Jilg
+ Daniel Lindsley
+ Daniel Poelzleithner
+ Daniel Pyrathon
+ Daniel Roseman
+ Daniel Tao
+ Daniel Wiesmann
+ Danilo Bargen
+ Dan Johnson
+ Dan Palmer
+ Dan Poirier
+ Dan Stephenson
+ Dan Watson
+ dave@thebarproject.com
+ David Ascher
+ David Avsajanishvili
+ David Blewett
+ David Brenneman
+ David Cramer
+ David Danier
+ David Eklund
+ David Foster
+ David Gouldin
+ david@kazserve.org
+ David Krauth
+ David Larlet
+ David Reynolds
+ David Sanders
+ David Schein
+ David Tulig
+ David Winterbottom
+ David Wobrock
+ Davide Ceretti
+ Deep L. Sukhwani
+ Deepak Thukral
+ Denis Kuzmichyov
+ Dennis Schwertel
+ Derek Willis
+ Deric Crago
+ deric@monowerks.com
+ Deryck Hodge
+ Dimitris Glezos
+ Dirk Datzert
+ Dirk Eschler
+ Dmitri Fedortchenko
+ Dmitry Jemerov
+ dne@mayonnaise.net
+ Dolan Antenucci
+ Donald Harvey
+ Donald Stufft
+ Don Spaulding
+ Doug Beck
+ Doug Napoleone
+ dready
+ Durval Carvalho de Souza
+ dusk@woofle.net
+ Dustyn Gibson
+ Ed Morley
+ Egidijus Macijauskas
+ eibaan@gmail.com
+ elky
+ Emmanuelle Delescolle
+ Emil Stenström
+ enlight
+ Enrico
+ Eric Boersma
+ Eric Brandwein
+ Eric Floehr
+ Eric Florenzano
+ Eric Holscher
+ Eric Moritz
+ Eric Palakovich Carr
+ Erik Karulf
+ Erik Romijn
+ eriks@win.tue.nl
+ Erin Kelly
+ Erwin Junge
+ Esdras Beleza
+ Espen Grindhaug
+ Étienne Beaulé
+ Eugene Lazutkin
+ Evan Grim
+ Fabian Büchler
+ Fabian Braun
+ Fabrice Aneche
+ Faishal Manzar
+ Farhaan Bukhsh
+ favo@exoweb.net
+ fdr
+ Federico Capoano
+ Felipe Lee
+ Filip Noetzel
+ Filip Wasilewski
+ Finn Gruwier Larsen