Django community: RSS
This page, updated regularly, aggregates Django Q&A from the Django community.
-
Is there Django List View model sort?
I'm using ListView in my Class Based Views and I was wondering if there was a way to display the model object set on the template by sorting it. This is what I have so far: My views: class Reviews(ListView): model = ProductReview paginate_by = 50 template_name = 'review_system/reviews.html' The model Product View has a date_created field. I'd like to sort the date in descending order. How do I achieve this? -
MySQL vs PostgreSQL in Django, from locks point of view
I've been searching the web for some time now and can't come to a conclusion. When working with Django project and MySQL I came across a DEADLOCK problem that I assume caused by the "Next-Key" locking in MySQL. After some search it seems that PostgreSQL doesn't use this locking mechanism, so it will solve me this issue, but I have some doubts because I dont fully understand the locking of PostgreSQL, also I am not sure what are the ramifications from performance point of view. I would be glad if you could explain the locking in PostgreSQL for me, or maybe give me another ideas to research. Thanks. -
Django not redirecting to desired url after login
I am trying to built a online book store and using django registration redux I have built a 2 way verification login system. After user login I want it to redirect to the main home page (/store in my case), but for some reason it's directing to accounts/profiles, I don't know from where is it fetching this url. Here's my Settings.py code import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = '&icg8)16be&h!rw)6_#3#v!1dn5nx_*k1rv7lx@c(88tw5z6$a' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True ALLOWED_HOSTS = [] # Application definition INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'social.apps.django_app.default', 'store', 'registration', ) MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', ) ROOT_URLCONF = 'bookstore.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'social.apps.django_app.context_processors.backends', 'social.apps.django_app.context_processors.login_redirect', ], }, }, ] WSGI_APPLICATION = 'bookstore.wsgi.application' AUTHENTICATION_BACKENDS = ( 'social.backends.facebook.FacebookOAuth2', 'django.contrib.auth.backends.ModelBackend' ) # Database # https://docs.djangoproject.com/en/1.8/ref/settings/#databases DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } # Internationalization # https://docs.djangoproject.com/en/1.8/topics/i18n/ LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N … -
Django user restriction in input fields
Template: <td class="post_hidden" style="min-width:70px;"> <input type="number" min="0" max="100" class="planner" id="post_planner_{{ shelf.shelf_no }}" value="{% if shelf.post_planner_percentage %}{{ shelf.post_planner_percentage }}{% endif %}" tabindex="11">% </td> Model: post_planner_percentage = models.IntegerField(blank=True, null=True) Js function plannerPreToPost() { // Copies planner information from pre testing to post testing. var numOfShelves={{ shelf_test_results.count }}; var plannerPre='pre_planner_'; var plannerPost='post_planner_'; for (currentShelf=0; currentShelf<=numOfShelves; currentShelf++) { var plannerPreId=plannerPre + currentShelf; var plannerPostId=plannerPost + currentShelf; if (document.getElementById(plannerPostId).value=="") { var prePlanner = document.getElementById(plannerPreId).value; document.getElementById(plannerPostId).value = prePlanner; } } } I run a script to get devices usage percentage. I am writing this data to mysql db. We've got a django portal which reads data from there. the input saves all datas from (1-100). When the percentage is 0, it does not save. When I refresh the page, it leaves blank. Any suggestions ? Thanks -
Filter serializer field's queryset based on current instance
In a HyperlinkedModelSerializer like the one below, how can I filter the queryset for the other_model_objects field based on the "current" instance of the model? class MyModelSerializer(serializers.HyperlinkedModelSerializer): other_model_objects = serializers.HyperlinkedRelatedField( many=True, queryset=OtherModel.objects.filter(foo=current_instance.field), view_name='othermodel-detail' ) class Meta: model = MyModel fields = ('other_model_objects',) -
Django save model history
I need to keep track of the changes made to some of the models. I tried simple_history and reversion but they dont seem to keep track of changes made by the django application itself. I.e changes made from the Django API. Any idea how to configure it to keep track of all changes, or any other apps or methods I can use to get it done. -
ProgrammingError: must appear in the GROUP BY clause or be used in an aggregate function
I have something like this, that represents my model: class Vat(managers.Model): creator = models.ForeignKey(User, default=None) updater = models.ForeignKey(User, default=None) name = models.CharField(max_length=32, unique=True) rate = models.FloatField(verbose_name='Rate (%)', default=0.0) message = models.TextField() disabled = models.BooleanField(default=False) class Customer(SomeInheritedModel): name = models.CharField(max_length=50) ... class Invoice(SomeInheritedModel): customer = models.ForeignKey(Customer, related_name='invoices') creditted_by = models.OnetoOneField(User, related_name='creditee') ... class Account(SomeInheritedModel): customer = models.ForeignKey(Customer, related_name='accounts') ... class Product(SomeInheritedModel): name = models.CharField(max_length=50) ... class License(SomeInheritedModel): vat = models.ForeignKey('Vat', null=True) # Null for imported imported = models.BooleanField(default=False) account = models.ForeignKey(Account) product = models.ForeignKey(Product) maintenance = models.ManyToManyField('Maintenance', related_name="maintenances") class Maintenance(SomeInheritedModel): invoice = models.ForeignField(Invoice) start_date = models.DateTimeField(null=True) expiration_date = models.DateTimeField(null=True) Then I am trying to generate a report on expired licenses, making sure to get only the latest Maintenance object sold to this license. # maintenances__invoices__* filters credited invoices, which we want to exclude report.licenses = License.objects.active().renewable().filter( Q(imported=True, expiry_date__range=(report.start_date, report.end_date)), maintenances__invoice__creditted_by__isnull=True, maintenances__invoice__creditee__isnull=True )\ .distinct()\ .annotate(max_exp_date=Max('maintenances__end'))\ .filter(max_exp_date__range=(report.start_date, report.end_date)) However I get the following error: ProgrammingError at /report-menu/create/ column "v3_vat.created_at" must appear in the GROUP BY clause or be used in an aggregate function LINE 1: ...ummary", "v3_agreement"."file_id", "v3_vat"."id", "v3_vat"."... ^ Request Method: POST Request URL: http://localhost:8000/report-menu/create/?report_type=5 Django Version: 1.10.6 Exception Type: ProgrammingError Exception Value: column "v3_vat.created_at" must appear in the GROUP BY clause … -
django-allauth custom signup not triggered
When I try to register a new user, is seems that SignupForm and CustomAccountAdapter are not trigerred. (no data print either) This just create a user without adding first_name or last_name : [2017/03/09 13:42:26] HTTP POST /en/accounts/signup/ 302 [0.39, 127.0.0.1:54730] [2017/03/09 13:42:26] HTTP GET /en/accounts/confirm-email/ 200 [0.24, 127.0.0.1:54730] [2017/03/09 13:42:26] HTTP GET /en/jsi18n/ 200 [0.04, 127.0.0.1:54738] core/adapters.py: class CustomAccountAdapter(DefaultAccountAdapter): def save_user(self, request, user, form, commit=False): data = form.cleaned_data print(data) user.username = data['username'] user.email = data['email'] user.first_name = data['first_name'] user.last_name = data['last_name'] if 'password1' in data: user.set_password(data['password1']) else: user.set_unusable_password() self.populate_username(request, user) if commit: user.save() return user core/forms.py: class SignupForm(forms.ModelForm): class Meta: model = get_user_model() fields = ['first_name', 'last_name', 'username', 'card'] first_name = forms.CharField(max_length=32, label=_("Firstname")) last_name = forms.CharField(max_length=32, label=_("Lastname")) username = forms.CharField(max_length=32, label=_("Username")) card = forms.ImageField() def signup(self, request, user): user.first_name = self.cleaned_data['first_name'] user.last_name = self.cleaned_data['last_name'] user.profile.card = self.cleaned_data['card'] user.save() proj/settings.py: ACCOUNT_AUTHENTICATION_METHOD = "username_email" ACCOUNT_CONFIRM_EMAIL_ON_GET = True ACCOUNT_UNIQUE_EMAIL = True ACCOUNT_USERNAME_MIN_LENGTH = 4 ACCOUNT_EMAIL_CONFIRMATION_EXPIRE_DAYS = 7 ACCOUNT_EMAIL_REQUIRED = True ACCOUNT_EMAIL_VERIFICATION = "mandatory" ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION = True ACCOUNT_EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URL = "/" ACCOUNT_ADAPTER = 'core.adapter.CustomAccountAdapter' ACCOUNT_SIGNUP_FORM_CLASS = 'core.forms.SignupForm' -
In Django, can I mark a model so that all Foreign Keys to this model will get raw_id_fields, rather than a dropdown
I have a model that is going to have a LOT of instances (it's got to do with logging). Because of this, every model that has a foreign key to this model, I'll have to give it a custom ModelAdmin to set the foreign key to a raw_id_field, because a dropdown is going to slow the page down. Can I mark this on the 'logging' model itself, so that all Foreign Keys have this property? -
Django 1.10 NoReverseMatch error
I have a trouble, just read themes which correspondent to the trouble, but don't found the solution. I am new with Django, try to create base shablon of the site, due to manual. My base.html file <p> <a href="{% url '_my_alfanet_:index' %}">My AlfaNet Portal</a> </p> >{% block content %}{% endblock content %} My index.html file: {% extends "_my_alfanet_/base.html" %} {% block content %} <p>My AlfabankNet Portal allows you to extract information about the nets and devices of MyAlfaBank Net.</p> {% endblock content %} My project urls.py file """Определяет схемы URL для My AlfaNet.""" from django.conf.urls import url from _my_alfanet_ import views urlpatterns = [ url(r'^admin/', include(admin.site.urls)), url(r'', include('_my_alfanet_.urls', namespace='_my_alfanet_')), ] My project views.py file: # -*- coding: utf-8 -*- from django.shortcuts import render # Create your views here. from django.contrib import admin def index(request): """Домашняя страница приложения Learning Log""" return render(request, '_my_alfanet_/index.html') Result after all of this was done: NoReverseMatch at / u'_my_alfanet_' is not a registered namespace Request Method: GET Request URL: http://172.17.45.9:8002/ Django Version: 1.10.6 Exception Type: NoReverseMatch Exception Value: u'_my_alfanet_' is not a registered namespace Exception Location: /etc/network/scripts/my_alfanet_env/lib/python2.7/site-packages/django/urls/base.py in reverse, line 87 Python Executable: /etc/network/scripts/my_alfanet_env/bin/python Python Version: 2.7.9 Python Path: ['/etc/network/scripts', '/etc/network/scripts/ansible/lib', '/etc/network/scripts', '/etc/network/scripts/my_alfanet_env/lib/python27.zip', '/etc/network/scripts/my_alfanet_env/lib/python2.7', '/etc/network/scripts/my_alfanet_env/lib/python2.7/plat-linux2', '/etc/network/scripts/my_alfanet_env/lib/python2.7/lib-tk', … -
MySQL, JSON, Python, Django - error totally whack
I'm trying to populate JSON data fields in a MySQL database from python. I'm using MySQL 5.7.17 which supports the JSON datatype and Python 2.7. I have defined 6 columns in my table as JSON. One of these fields gets populated from an Insert statement, successfully. I attempt to populate the remaining JSON fields using an UPDATE statement which fails: File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 36, in defaulterrorhandler File "C:\Python27\lib\site-packages\MySQLdb\cursors.py", line 202, in execute raise errorclass, errorvalue self.errorhandler(self, exc, value) InterfaceError: (-1, 'error totally whack') File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 36, in defaulterrorhandler raise errorclass, errorvalue InterfaceError: (-1, 'error totally whack') In all cases the data is defined as a dictionary in my python code which I then convert to a string like so: my_dict = populate_dictionary() my_dict_as_string = json.dumps(my_dict) Has anyone else encountered this? Perhaps a bug when updating MySQL? I don't have all my data available at the time of the insert otherwise I'd try an insert with all the JSON data. I also prefer not to defer the insert until I have all the data. If I store the data as LONGBLOB instead everything works fine but then my Django front end can't read the data. My Django data model defines … -
Decrease username length in Django 1.10 and django-registration 2.2
how can I decrease the username length? I am using Django 1.10 and django-registration 2.2. I am using the "HMAC activation workflow" and the base form class "registration.forms.RegistrationFormUniqueEmail". I am new to Django and a little bit overwhelmed. Do I have to write a complete new custom user model or is there a simple solution? -
Why is Unicorn/Gunicorn slow to serve static content?
I have read here that the Unicorn/Gunicorn HTTP server is 'not very good at serving static files', and that Nginx is better at serving static content. Can someone explain why this is? I understand the specialised roles of Nginx and Gunicorn, and that Nginx is a reverse proxy, and that Gunicorn can actually serve static files if necessary. -
Django-Rest-Framework. Updating two tables
I'm having a problem of updating a nested object. So I have two models which structure is similar to this one: class EmployeeEvent(models.Model): id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) event_name = models.CharField(max_length=200) start_date = models.DateField() end_date = models.DateField() class EmployeeEvent_Users(models.Model): id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) employee_event = models.ForeignKey(EmployeeEvent, on_delete=models.CASCADE, related_name='employee_event_employee_list') employee = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='employeeEvent_employee') I've wrote the following serializers: class EmployeeEventUserSerializer(serializers.ModelSerializer): class Meta: model = EmployeeEvent_Users fields = ('id', 'employee',) class EmployeeEventSerializer(serializers.ModelSerializer): employee_event_users = EmployeeEventUserSerializer( required=True, many=True) class Meta: model = EmployeeEvent fields = ('event_name', 'start_date', 'end_date', 'employee_event_users', ) Update functionality is not working properly. I have the following function for update functionality. def update(self, instance, validated_data): instance.event_name = validated_data['event_name'] instance.start_date = validated_data['start_date'] instance.end_date = validated_data['end_date'] instance.save() instance.employee_event_users = validated_data.get('employee_event_users') if instance.employee_event_users: for employee_event_user in instance.employee_event_users: employee_event_user_id = employee_event_user.get('employee_id', None) if employee_event_user_id: emp_user = EmployeeEvent_Users.objects.get(id=employee_event_user_id, employee_event=instance) emp_user.employee = employee_event_user.get('employee', emp_user.employee) emp_user.save() else: EmployeeEvent_Users.objects.create(employee_event=instance, **employee_event_user) return instance Any help would be really appreciated. -
Python SMTP send email with CC
I'm using Python 2.7.3 and I want to send email with CC. Something in general like this: (The subject is just for example) I have the following function: def send_email(data): body = "hello world" message = MIMEText(body) message['Subject'] = "File '%s' upload data" % data['filename'] message['From'] = 'noreply@atte-mm.com' message['To'] = data['send_to'] message['CC'] = 'test@atte-mm.com' s = smtplib.SMTP(SMTP_HOST) s.sendmail(EMAIL_SENDER, [data['send_to']], message.as_string()) s.quit() The function works however it ignores the CC. The TO receive the email without the CC and of curse the CC receives nothing. I didn't find anything useful in the python documentation about SMTP. Is it possible to send a mail with CC? If not how do I make it work with two email address in the TO? -
get_queryset() in MonthArchiveView returns all objects instead objects created only in requested month
Why get_queryset() from MonthArchiveView returns all objects from my model instead objects created only in requested month? class BudgetMonthlyView(MonthArchiveView): template_name = 'budget/monthly.html' model = FinanceData date_field = "created" make_object_list = False allow_future = False month_format = '%m' def get_context_data(self, **kwargs): context = super(BudgetMonthlyView, self).get_context_data(**kwargs) print(self.get_queryset()) #return all objects from FinanceData model return context -
--fake-initial vs --fake in Django migration?
What is the difference between --fake-initial and --fake in Django 1.10 migration? What are the dangers of using fake migrations? Anybody knows? Thank you very much to all. -
Dynamic Django Model based on query
Hello folks Im new to Django(I have just the finished the tutorial) but I think i understand the basic concepts of it .Im writing here because Im trying to do something "difficult" for my current experience with django and searching the internet didnt give me a solution .What im trying to do is to create a dynamic model based on the number of entries of another model .To be more exact lets say i got the following model : class criteria(models.Model): criteria_text = models.CharField(max_length=200) monotonicity = models.CharField(max_length=1,choices=(('+','ASCEDING'),('-','DESCENDING')),default='+',verbose_name='Monotonicity') worst = models.IntegerField(default=0) best = models.IntegerField(default=0) What i want to do is create all the criteria models instances i want through the django admin panel and then query for all the creteria_text instances in the database and make a model with an attribute for every criteria_text instance. So lets say I add the following criteria to the database(these are criteria_text attributes of criteria objects: Color,Weight,Price . I want to end up with a model like this : class Alternative(models.Model): Color = models.IntegerField(default=0) Weight = models.IntegerField(default=0) Price = models.IntegerField(default=0) The thing is that in my application this one has to happen a lot of times so i cannot make model each time someone adds … -
Assign relationsships to built in users
I have created this model in my project from django.contrib.auth.models import User from django.contrib.auth.models import Group from django.db import models from quiz.models import Quiz # Create your models here. class Organisation(models.Model): name = models.CharField(max_length=255) user = models.ForeignKey(User, on_delete=models.CASCADE) quiz = models.ForeignKey(Quiz, on_delete=models.CASCADE) group = models.ForeignKey(Group, on_delete=models.CASCADE) However, I understand it should be the other way around. I want the user to belong to an organisation. How can I make this happen? Preferebly not only in the application I created but universally in the project. Thanks! -
How to restrict access to objects using detailview class
Im trying to limit the display objects to the user who created it. Is it done using a foreign key in the object model? Ex: User 1 may access object 1 User 2 may access object 2 At this moment any user can access any object just entering the correct URL to that object. File views.py from django.shortcuts import render from django.http.response import Http404 from .models import Host from django.views.generic.detail import DetailView from django.views.generic.list import ListView from django.contrib.auth.decorators import login_required # Create your views here. def index(request): return render(request, 'index.html') class HostDetail(DetailView): model = Host def get_context_data(self, **kwargs): context = super(HostDetail, self).get_context_data(**kwargs) if context['host'].perfil.id == self.request.user.perfil.id: return context else: return False class HostList(ListView): model = Host def get_queryset(self, **kwargs): qs = super(HostList, self).get_queryset(**kwargs).filter(perfil=self.request.user.perfil.id) return qs File models.py class Perfil(models.Model): usuario = models.OneToOneField(User, on_delete=models.CASCADE) zbx_user = models.CharField(max_length=255, null=False) pwd = models.CharField(max_length=255, null=False) nome = models.CharField(max_length=255, null=False) grupo = models.CharField(max_length=255, null=False) numero_hosts = models.IntegerField(null=True) def __str__(self): return self.nome class Host(models.Model): host_name = models.CharField(max_length=120) templateid = models.PositiveIntegerField() tipo = models.PositiveIntegerField() ip = models.GenericIPAddressField() dns = models.CharField(max_length=120, default="") host_id = models.PositiveIntegerField() # Relacionamento 1 pra N com Perfil perfil = models.ForeignKey(Perfil, on_delete=models.CASCADE) def __str__(self): return self.host_name File urls.py from django.conf.urls import url from . … -
Google Places Web API photos
I use Django-google-places extension to get a list of photos (place.photos). But the list I get is very unpredictable - pictures of users, food, etc. Does Google provide something to get place's main picture that represents cafe/restaurant better? Or maybe there's a way to get the best picture from list? -
Transform Flask REST API into Django app
I am struggling on porting my (functional) Flask REST API into a working Django APP. I have researched but could not find solution to my problem. It is for a movie recommendation system (based on MovieLens dataset). Basically I want to move from this architecture: Flask API to this one: Django app The Flask API is quite straightforward and works well when I test it with Postman: from flask import Flask, jsonify, request from movieEngine import MovieRecommender import sqlite3 app = Flask(__name__) @app.route('/prediction/<int:userId>',methods=['GET']) def get(userId): result = recommendation_engine.predictInterest(userId) return jsonify(result) @app.route('/add',methods=['POST']) def add(): userId = request.json['userId'] movieId = request.json['movieId'] rating = request.json['rating'] result = recommendation_engine.addData(userId,movieId,rating) return jsonify(result) if __name__ == '__main__': global recommendation_engine global database database = './data/RecommenderSystem.db' sqlconnector = sqlite3.connect(database,check_same_thread=False) recommendation_engine = MovieRecommender(sqlconnector) app.run(debug=True) In Django, I have already setup the main Models.py: from django.db import models class User(models.Model): name = models.CharField(max_length=256, null=True) def __str__(self): return self.name class Movie(models.Model): title = models.CharField(max_length=256) def __str__(self): return self.title class Rating(models.Model): user = models.ForeignKey(User) movie = models.ForeignKey(Movie) rating = models.FloatField() timestamp = models.DateTimeField(auto_now=True) def __str__(self): return 'User {:} rated movie {:} --> {:}/5 '.format(self.user,self.movie,self.rating) class Recommendation(models.Model): user = models.ForeignKey(User) top5 = models.CharField(max_length=256) def __str__(self): return 'Recommendation for user {:}'.format(self.user) The value stored … -
Getting same result while using filter_by or filter in sqlalchemy query
I am new to SQL alchemy. query 1 style_id = '373401 self.session.query(ChromeYearMakeModelStyle).filter_by(chromestyle_id=style_id).one() ChromeYearMakeModelStyle(373401) query 2 style_id = '373401abc' self.session.query(ChromeYearMakeModelStyle).filter_by(chromestyle_id=style_id).one() Output ChromeYearMakeModelStyle(373401) query 3 style_id = '373401def' self.session.query(ChromeYearMakeModelStyle).filter_by(chromestyle_id=style_id).one() Output ChromeYearMakeModelStyle(373401) Why am I getting the same output for all three query? -
Django QuerySet evaluation
I am trying to find out if it is safe to do the following: items = MyModel.objects.filter(q) if items: list(items) I know that the QuerySet is being evaluated in the if statement, checking if the database returns an empty set. But I want to know if the value of that evaluation is reused when doing list(items). Is the QuerySet being evaluated here too, or is it using the previously evaluated one? I know I could just do the following: items = MyModel.objects.filter(q).all() if items: list(items) And this would result in one evaluation, but I am just trying to find out the behavior the first variation has. I have gone throught these pieces of doc (1 2) but couldn't really find a straight answer to this matter. -
Using django-rest api upload a file directly to application, from a file soure url(Without using wget)
Currently i am doing the following: Download the file using wget: URL = 'http://james.com/sample.png' subprocess.call(['wget', '--auth-no-challenge', '--http-user=user', '--http-password=fc5b6b6862ded67e7cd2af16ad76e429', URL, '-P', DOWLOAD_DIR ]) Later I upload it to the application from the downloads folder. What I am looking for is a way to upload the file directly using the source url rather than downloading the file and then uploading it. Any help regarding the same will be appreciated. Thanks!