Skip to main content

How to fix gettext() got an unexpected keyword argument 'null' in Django

I have a model, a serializer, and a view like below, model

# get user model
User = get_user_model()

class Task(models.Model):
    "A task can be created by the user to save the task's details"

    COLOR_CHOICES = (
        ("red", _("Red")),
        ("gre", _("Green")),
        ("blu", _("Blue")),
        ("yel", _("Yellow")),
        ("pur", _("Purple")),
        ("ora", _("Orange")),
        ("bla", _("Black")),
        ("whi", _("White")),
        ("ind", _("Indigo")),
        ("lim", _("Lime")),
        ("cya", _("Cyan")),
    )
    title = models.CharField(max_length=150, blank=False, null=False, help_text=_("Enter your task's title"), verbose_name=_("title"))
    description = models.TextField(max_length=500, blank=True, null=True, help_text=_("Enter your task's description"), verbose_name=_("description"))
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="utask", verbose_name=_("User"))
    time_to_start = models.DateTimeField(verbose_name=_("The time that the task should be started"), help_text=_("Enter the time that you want to start your task"))
    deadline = models.DateTimeField(verbose_name=_("The time that the task should be done"), help_text=_("Enter the time that you'll have done your task until it"))
    priority = models.IntegerField(choices=[(0, _("Not important")), (1, _("Low")), (2, _("Medium")), (3, _("High"))], default=1, verbose_name=_("Priority"), help_text=_("Choose the priority of your task"))
    color = models.CharField(max_length=3, choices=COLOR_CHOICES, default="whi", blank=True, null=True, verbose_name=_("Color"), help_text=_("Choose the color or the theme of your task"))
    notification = models.BooleanField(default=True, null=False, blank=True, verbose_name=_("Notification"), help_text=_("Do you want to receive a notification when the task is getting closer to the deadline or when it's passed that?"))

    def __str__(self):
        return self.title



class Plan(models.Model):
    "A plan is a thing which you can place your tasks into it"

    title = models.CharField(max_length=150, blank=False, null=False, help_text=_("Enter your plan's title"), verbose_name=_("Title"))
    description = models.TextField(max_length=1000, blank=True, null=True, help_text=_("Enter your plan's description"), verbose_name=_("description"))         
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="uplan", verbose_name=_("User"))
    date = models.DateField(verbose_name=_("Date"), help_text=_("Enter the date that you want to plan", null=False, blank=False))
    task = models.ForeignKey(Task, on_delete=models.CASCADE, related_name="tplan", verbose_name=_("Task"), help_text=_("Choose the task that you want to be in your plan"))

    def __str__(self):
        return self.title

serilizer.py

class CreateTaskSerializer(serializers.ModelSerializer):
    class Meta:   
      model = Task
      exclude = ["user"]
      extra_kwargs = {
         'title': {'help_text': _("Enter your task's name")},
         'description': {'help_text': _("Enter your description")},
         'time_to_start': {'help_text': _("Enter your time to start your task")},
         'deadline': {'help_text': _("Enter your deadline")},
         'priority': {'help_text': _("Enter your priority for your task")},
         'color': {'help_text': _("Enter your color for your task")},
         'notification': {'help_text': _("Do you want to get notification for your task's status?")}, 
      } 

    def validate(self, data):
        if data['time_to_start'] >= data['deadline']:
            raise serializers.ValidationError(_("Time to start must be less than deadline"))
        return data

view.py

class CreateTaskApiView(APIView):
    """
    Create your new task with your entered data
    """

    permission_classes = [IsAuthenticated]

    def post(self, request):
        data = CreateTaskSerializer(data=request.data)
        if data.is_valid():
            data = data
            data.user = request.user
            data.save()
            return Response({
                "message": _("You've just created your task")
                }, status=status.HTTP_200_OK)
        else:
            return Response(data.errors, status=status.HTTP_400_BAD_REQUEST)

This error occurs when I want to run "py manage.py makemigrations" and then this error shows itself. I have no idea what is wrong with my code so I will be happy if you help me to find out the problem, furthermore, I'm sure that the problem is in the task model(or the task modules)

error: TypeError: gettext() got an unexpected keyword argument 'null'



source https://stackoverflow.com/questions/72680083/how-to-fix-gettext-got-an-unexpected-keyword-argument-null-in-django

Comments

Popular posts from this blog

Prop `className` did not match in next js app

I have written a sample code ( Github Link here ). this is a simple next js app, but giving me error when I refresh the page. This seems to be the common problem and I tried the fix provided in the internet but does not seem to fix my issue. The error is Warning: Prop className did not match. Server: "MuiBox-root MuiBox-root-1" Client: "MuiBox-root MuiBox-root-2". Did changes for _document.js, modified _app.js as mentioned in official website and solutions in stackoverflow. but nothing seems to work. Could someone take a look and help me whats wrong with the code? Via Active questions tagged javascript - Stack Overflow https://ift.tt/2FdjaAW

How to show number of registered users in Laravel based on usertype?

i'm trying to display data from the database in the admin dashboard i used this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count(); echo $users; ?> and i have successfully get the correct data from the database but what if i want to display a specific data for example in this user table there is "usertype" that specify if the user is normal user or admin i want to user the same code above but to display a specific usertype i tried this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count()->WHERE usertype =admin; echo $users; ?> but it didn't work, what am i doing wrong? source https://stackoverflow.com/questions/68199726/how-to-show-number-of-registered-users-in-laravel-based-on-usertype

Why is my reports service not connecting?

I am trying to pull some data from a Postgres database using Node.js and node-postures but I can't figure out why my service isn't connecting. my routes/index.js file: const express = require('express'); const router = express.Router(); const ordersCountController = require('../controllers/ordersCountController'); const ordersController = require('../controllers/ordersController'); const weeklyReportsController = require('../controllers/weeklyReportsController'); router.get('/orders_count', ordersCountController); router.get('/orders', ordersController); router.get('/weekly_reports', weeklyReportsController); module.exports = router; My controllers/weeklyReportsController.js file: const weeklyReportsService = require('../services/weeklyReportsService'); const weeklyReportsController = async (req, res) => { try { const data = await weeklyReportsService; res.json({data}) console