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

ValueError: X has 10 features, but LinearRegression is expecting 1 features as input

So, I am trying to predict the model but its throwing error like it has 10 features but it expacts only 1. So I am confused can anyone help me with it? more importantly its not working for me when my friend runs it. It works perfectly fine dose anyone know the reason about it? cv = KFold(n_splits = 10) all_loss = [] for i in range(9): # 1st for loop over polynomial orders poly_order = i X_train = make_polynomial(x, poly_order) loss_at_order = [] # initiate a set to collect loss for CV for train_index, test_index in cv.split(X_train): print('TRAIN:', train_index, 'TEST:', test_index) X_train_cv, X_test_cv = X_train[train_index], X_test[test_index] t_train_cv, t_test_cv = t[train_index], t[test_index] reg.fit(X_train_cv, t_train_cv) loss_at_order.append(np.mean((t_test_cv - reg.predict(X_test_cv))**2)) # collect loss at fold all_loss.append(np.mean(loss_at_order)) # collect loss at order plt.plot(np.log(al...

Sorting large arrays of big numeric stings

I was solving bigSorting() problem from hackerrank: Consider an array of numeric strings where each string is a positive number with anywhere from to digits. Sort the array's elements in non-decreasing, or ascending order of their integer values and return the sorted array. I know it works as follows: def bigSorting(unsorted): return sorted(unsorted, key=int) But I didnt guess this approach earlier. Initially I tried below: def bigSorting(unsorted): int_unsorted = [int(i) for i in unsorted] int_sorted = sorted(int_unsorted) return [str(i) for i in int_sorted] However, for some of the test cases, it was showing time limit exceeded. Why is it so? PS: I dont know exactly what those test cases were as hacker rank does not reveal all test cases. source https://stackoverflow.com/questions/73007397/sorting-large-arrays-of-big-numeric-stings

How to load Javascript with imported modules?

I am trying to import modules from tensorflowjs, and below is my code. test.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title </head> <body> <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.0.0/dist/tf.min.js"></script> <script type="module" src="./test.js"></script> </body> </html> test.js import * as tf from "./node_modules/@tensorflow/tfjs"; import {loadGraphModel} from "./node_modules/@tensorflow/tfjs-converter"; const MODEL_URL = './model.json'; const model = await loadGraphModel(MODEL_URL); const cat = document.getElementById('cat'); model.execute(tf.browser.fromPixels(cat)); Besides, I run the server using python -m http.server in my command prompt(Windows 10), and this is the error prompt in the console log of my browser: Failed to loa...